2015-04-23 2 views
1

Я немного изменил wp-плагин, который у меня был, чтобы заставить его работать автоматически.Запуск задания cron на WP плагин

Этот адрес http://www.example.com/wp-admin/admin.php?page=wp_posts&add=add

Проблема заключается в том, что я не могу заставить его работать, и мой хрон дает мне ошибку, когда им пользоваться.

Я называю это с

wget -O /dev/null http://www.example.com/wp-admin/admin.php?page=wp_posts&add=add 

и в результате я получаю

--2015-04-23 10:00:01-- http://www.example.com/wp-admin/admin.php?page=wp_posts 
Resolving www.example.com... 46.105.40.207 
Connecting to www.example.com|46.105.40.207|:80... connected. 
HTTP request sent, awaiting response... 302 Moved Temporarily 
Location: http://www.example.com/wp-login.php?redirect_to=http%3A%2F%2Fwww.example.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dwp_posts&reauth=1 [following] 
--2015-04-23 10:00:03-- http://www.example.com/wp-login.php?redirect_to=http%3A%2F%2Fwww.example.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dwp_posts&reauth=1 
Reusing existing connection to www.example.com:80. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/html] 
Saving to: “/dev/null” 

0K ...              237M=0s 

2015-04-23 10:00:03 (237 MB/s) - “/dev/null” saved [3180] 

Так что, похоже, что так как это админ ограничено, я не имею никакого способа, чтобы запустить его.

Любая идея о том, как я могу это изменить?

+0

Необходимо изменить настройки плагина, чтобы этот url опубликовал, например, http://www.example.com/your_cron_page?page=wp_posts&add=add, из-за wp-admin это означает, что эта операция предназначена только для администраторов, которые в настоящее время вошли в систему –

ответ

1

Вы можете использовать этот фрагмент в файле functions.php , и вы можете запустить его с помощью URL-адрес, например, общественного http://example.com/cron

function my_CronJob() { 
    global $wp; 
    // Check that we are getting "cron" slug from url. 
    if($wp->request == 'cron'){ 
     // Run you cron script here. 

     die(); 
    } 
} 

add_filter('template_redirect', 'my_CronJob'); 

Или, если вы хотите использовать WordPress фактических стандартов вы можете проверить это article.

Надеюсь, это поможет вам.

+0

Спасибо. Так как я включаю в него некоторый API, должен ли я включать их вне или внутри функции? – Tayax

+0

вы можете сделать всю целую логику работы в определенной функции после этого в my_CronJob, если statment вы можете вызвать эту функцию, например if ($ wp-> request == 'cron') {your_cron_job_logic_function(); умереть(); } –

+0

Работая отлично для части функции, хотя, я не уверен, как я должен назвать это с помощью cron? Я получаю: http://www.example.com/automatemovie Решение www.example.com ... MY.IP.ADD.RESS Подключение к www.example.com | MY.IP.ADD.RESS | : 80 ... подключен. HTTP-запрос отправлен, ожидающий ответа ... 404 Не найдено 2015-04-24 13:00:03 ОШИБКА 404: Не найдено. – Tayax

Смежные вопросы