Есть несколько недостатков: во-первых, при использовании wp-cron.php в качестве cli, переменные $ _SERVER не устанавливаются. Люди преодолевают это ограничение, используя вместо этого запрос curl к wp-cron.php.
Во-вторых, потому что сам WP не загружен wp-cron.php; если вы используете плагин SMTP, то он не будет загружен при вызове wp-cron. Опять же, использование вызова curl решает эту проблему. Керл, кажется, наиболее часто используемый метод.
Однако; Я предпочитаю использовать wp-cli после настройки параметров почты в postfix и (для nginx) в конфигурации php-fpm и установки crontab, например
*/5 * * * * wp cron event list --skip-plugins --skip-themes --path="/var/www/vhosts/example.com/httpdocs/wp" --fields=hook,next_run_relative --format=csv | awk -F, '$2=="now" {print $1}' | xargs -r wp --path="/var/www/vhosts/example.com/httpdocs/wp" cron event run $1
(Перечислите все cron с определенными полями в формате csv - hook - это имя cron, относительное время следующего запуска - это время. Удалите те, которые показывают 'now' как следующий запуск (ожидаемые сейчас), используя AWK, передайте этот список xargs для вызовите wp cron event run $HOOK
каждый cron.) Использование wp-cli корректно загружает WordPress (я предпочитаю пропускать плагины при перечислении cron, так как предупреждения об ошибках кода и php испортят вывод сценариев; но не пропускать их при запуске cron с xargs, так как cron может потребоваться загрузка плагинов)
Надеюсь, это даст вам несколько советов о том, на что обратить внимание.
wget http://YOUR_SITE_URL/wp-cron.php
без добавления слов.?doing_wp_cron
Так один лучше другого? Что делает дополнение?doing_wp_cron
, чего не делает не версия?