функции wp не распознаются в работе cron

Окружение:

У меня есть сайт WordPress, но отключен wp_cron иметь полный контроль над cron.

define('DISABLE_WP_CRON', true);

В crontab -e, У меня есть следующая работа cron:

*/2 * * * * /usr/bin/php /var/www/cron/mycron.php init >> /var/log/error.log 2>&1

mycron.php имеет простую функцию

if (!empty($argv[1])) {
switch ($argv[1]){
case 'init':
cron_test();
break;
}
}
function cron_test() {
$time = date(DATE_RFC822, time());
write_log("Start:" . $time);   //outputs debug to my own log file
};

function write_log($log){
if ( true === WP_DEBUG ) {
if ( is_array( $log ) || is_object( $log ) ) {
write_log( print_r( $log, true ) );
} else {
write_log( $log );
}
}
};

Обратите внимание, что я объявил mycron.php в functions.php для wp:

require_once('parts/mycron.php');

Журнал ошибок:

В моем error.log для cron у меня следующая ошибка:

PHP Warning:  Use of undefined constant WP_DEBUG - assumed 'WP_DEBUG'

Итак, я предполагаю, что между cron и wp существует какая-то разъединенность, что является моей лучшей догадкой.

Что я пытаюсь сделать:

mycron.php будет иметь много функций WordPress, которые мне понадобятся. Как заставить cron распознать wp function такие как WP_DEBUG?

Любая помощь будет высоко ценится.

Спасибо!

0

Решение

Вам нужно загрузить функции WordPress вручную, чтобы использовать их в пользовательском скрипте.

require_once("../../../../wp-load.php");

Также подробно ответил здесь,

Как включить функции WordPress в пользовательский файл .php?

1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector