Я пытаюсь вставлять в 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);
}
}
}
}
кто-нибудь может помочь?
Спасибо
Я хотел бы изучить с помощью сор-кли (сценарии командной строки для WordPress).
У вас будет файл yaml для каждой базы данных, содержащий собственный пользователь базы данных и пароль вместо вашего массива $ DB.
Затем напишите bash-скрипт (или для любой используемой вами оболочки), чтобы пройтись по каждой конфигурации, перейти в этот каталог и запустить WP пост создать команда (аналог командной строки wp_insert_post, использующая те же параметры).
Других решений пока нет …