Периодически запускается плагин WordPress для импорта данных - PullRequest
1 голос
/ 22 октября 2011

Вот ситуация: у меня есть программа, производящая файлы .csv с полями для заголовка и текста сообщения (в соответствии с http://wordpress.org/extend/plugins/csv-importer/other_notes/). Я действительно могу изменить вывод программы, если это необходимо.

Теперь я могу вручную войти в консоль администратора WordPress, перейти на вкладку подключаемого модуля средства импорта CSV, выбрать файл и импортировать содержащиеся в нем статьи.

Однако я хотел бы запустить эту задачу автоматически - все будет работать на сервере (создание данных приложения (CSV), импорт данных приложения / скрипта), а не удаленная загрузка файлов и т. Д. ... есть идеи, как это сделать это?

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

Вы захотите изучить cron и / или собственный WP * wp_schedule_event .

1 голос
/ 23 октября 2011

Я думаю, BlogSense Automation Tools предоставляет модуль импорта CSV, который имеет возможность автоматизации. Пока у вас генерируются новые csv-файлы и заголовки сообщений уникальны, автоматизация должна выполняться.

В противном случае потребуется некоторое значительное изменение плагина; в котором вы хотели бы, чтобы он попытался загрузить локальный статический CSV-файл с помощью CURL (чтобы заменить необходимость вручную загружать его из вашего жесткого диска), а затем использовать внутреннюю систему WordPress Cronjob для выполнения процесса оттуда.

Вот код, который я использую для выполнения внутреннего cronjob WordPress каждую минуту. Вы можете изменить вторые интервалы на что-то значительно большее.

add_filter('cron_schedules', 'add_per_min');

function add_per_min() {
    return array(
    'perminute' => array('interval' => 60, 'display' => 'Every Minute'),
    );
}

if (!wp_next_scheduled('the_name_of_my_custom_interval')) {
    wp_schedule_event(time(), 'perminute', 'the_name_of_my_custom_interval' );
}

add_action('the_name_of_my_custom_interval', 'the_function_to_run_here');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...