Є кілька недоліків: По-перше, при використанні wp-cron.php як кліпу такі речі, як $ _SERVER змінні, не встановлюються. Люди долають це обмеження, використовуючи запит на згортання замість wp-cron.php.
По-друге, тому що сам WP не завантажений wp-cron.php; якщо ви використовуєте плагін SMTP-пошти, він не завантажується під час виклику wp-cron. Знову ж, використання виклику curl вирішує цю проблему. Здається, Curl є найбільш часто використовуваним методом.
Однак; Я вважаю за краще використовувати wp-cli після встановлення налаштувань пошти у postfix та (для nginx) php-fpm config config та встановлення 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
(Перерахуйте всі крони із специфічними полями у форматі csv - гачок називається cron; час наступного запуску - час. Скрепіть ті, що показують "зараз" як наступний запуск (ті, що належать зараз) за допомогою AWK, передайте цей список xargs до зателефонуйте wp cron event run $HOOK
до кожного cron.) Використання wp-cli завантажує WordPress правильно (я вибираю пропускати плагіни при переліку кронів, оскільки помилки коду та php попередження викручують сценарій виводу; але не пропускати їх під час запуску cron з xargs, як може знадобитися завантаження плагінів)
Сподіваюсь, це дає вам деякі вказівки, на що слід звернути увагу.
wget http://YOUR_SITE_URL/wp-cron.php
без додавання.?doing_wp_cron
Так, що, краще один з інших? Що додає те?doing_wp_cron
, що неверсія не має?