WordPress: используйте wp_insert_post () в CronJob для нескольких установок

Я пытаюсь вставлять в WordPress посты через cron.

Я установил много соединений с БД

$DB = array(
'naruto' => new wpdb('ultimate_naruto','','ultimate_naruto','localhost'),
'4k' => new wpdb('ultimate_4k','','ultimate_4k','localhost'),
'weihnachten' => new wpdb('ultimate_xmas','','ultimate_xmas','localhost'),
'halloween' => new wpdb('ultimate_hallow','','ultimate_hallow','localhost'),
'disney' => new wpdb('ultimate_disney','','ultimate_disney','localhost'),
'starwars' => new wpdb('ultimate_starwar','','ultimate_starwars','localhost'),
'fossil' => new wpdb('ultimate_fossil','','ultimate_fossil','localhost'),
'avocado' => new wpdb('ultimate_avocado','','ultimate_avocado','localhost'),
'3d-drucker' => new wpdb('ultimate_3d','','ultimate_3d','localhost'),
'lego' => new wpdb('ultimate_lego','','ultimate_lego','localhost'),
'barbie' => new wpdb('ultimate_barbie','','ultimate_barbie','localhost')

);

И хочу вставить после некоторых DataOperations для вставки в соответствующую базу данных, я думаю, что у меня есть настройки соединения, но так как wp_insert_post не является частью класса wpdb / global $ wpdb, он не работает … я не мог найти способ выберите правильную базу данных для выполнения права wp_insert_post.

foreach($arr_keywords as $portal => $keywords){
foreach($keywords as $keyword){
if(stripos($_title,$keyword) !== false){
$row = $DB[$portal]->get_results("SELECT COUNT(*) FROM wp_posts WHERE id='$id'");
if($row == 0){
$data = prepare_data($id,$arr_portal[$portal]);
//do something to select correct db here
wp_insert_post($data);
}
}
}
}

кто-нибудь может помочь?

Спасибо

0

Решение

Я хотел бы изучить с помощью сор-кли (сценарии командной строки для WordPress).

У вас будет файл yaml для каждой базы данных, содержащий собственный пользователь базы данных и пароль вместо вашего массива $ DB.

Затем напишите bash-скрипт (или для любой используемой вами оболочки), чтобы пройтись по каждой конфигурации, перейти в этот каталог и запустить WP пост создать команда (аналог командной строки wp_insert_post, использующая те же параметры).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]