Что является правильным для WordPress для выполнения внешнего задания cron? - PullRequest
0 голосов
/ 28 января 2020

Что-то с WordPress Cron, как я понимаю, будет выполняться, когда кто-то посещает сайт, но мне это не нравится, потому что это замедляет страницы, когда это происходит.

Вместо этого я хочу добавить работу Cron в моем cpanel для запуска скрипта php, который должен активировать хук, который я добавляю с помощью своего пользовательского плагина.

Я пытался использовать ajax ловушку для admin- ajax. php, потому что это единственный, который я знаю, который работал, когда я открывал URL, но, кажется, не работал, когда я запускаю php скрипт напрямую.

1 Ответ

0 голосов
/ 28 января 2020

Решено странным образом:

/opt/php56/bin/php-cgi /XXXXXX/wp-admin/admin-ajax-XXX.php

Вызов задания cron, подобного этому, эквивалентен веб-запросу, единственное, чего сейчас не хватает, так это строки запроса, поэтому я создал файл XXX, в котором я просто переопределить мою переменную GET.

$_GET['action'] = 'my_wp_ajax_action_hook';
include './admin-ajax.php';

Я знаю, что она запаздывает, но она работает, так кого это волнует, и у меня есть привилегия иметь возможность вызывать ее в любое время, если я тоже буду следовать по веб-адресу:

/XXXXXX/wp-admin/admin-ajax-XXX.php or 
/XXXXXX/wp-admin/admin-ajax.php?action=my_wp_ajax_action_hook

Конечно, спамеры не должны знать этот URL, иначе вы получите рект. И просто для справки вот моя функция wp hook:

add_action('wp_ajax_my_wp_ajax_action_hook', 'my_wp_ajax_action_hook');
add_action('wp_ajax_nopriv_my_wp_ajax_action_hook', 'my_wp_ajax_action_hook');
function my_wp_ajax_action_hook() {
    //you getting rekt here :-)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...