• Казалось бы простой вопрос, да вот не могу почему-то найти ответ, хотя ранее гуглилось.

    В общем, нужно к обычному в корне сайта (wordpress) — скрипту на php, подключить библиотеки/классы wordpress чтобы в нём можно было выполнять запросы к $wpbd и получать к примеру данные юзера через get_user_meta

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • require_once( 'wp-load.php' );

    нужно к обычному в корне сайта

    Не нужно. Правильнее (и безопасней) вызывать свои обработчики из вордпресс, а не вордпресс из своих скриптов.

    Модератор Yui

    (@fierevere)

    永子

    require_once ($_SERVER["DOCUMENT_ROOT"]."/wp-load.php");

    В каком смысле свои обработчики из wordpress ? Я сейчас пытаюсь сделать крон для плагина, который будет к примеру выполнять определенные действия 1 раз в 60 мин. Далее вызывать этот крон серверным кроном указав к примеру site.com/cron.php. Или вы хотите сказать мне нужно cron.php прикрутить к плагину и вызвывать его типа site.com/wp-content/plugins/test/cron.php

    Для работы с задачами по расписанию у WordPress есть полноценный механизм. См. https://wp-kama.ru/handbook/codex/wp-cron

    вызывать этот крон серверным кроном

    Возможно, в этом случае и оправдан подход «подключть WP к скрипту». Хотя я бы, если настолько критично выполнение строго по расписанию (внутренний псевдохрон WP сильно заивсит от посещаемости сайта), перевел бі запуск wp-cron на системного хрона, а свои задачи в соответствии с каноном повесил на API WP.

    мне нужно cron.php прикрутить к плагину и вызвывать его типа site.com/wp-content/plugins/test/cron.php

    Вам нужно учить матчасть 😉

    Тогда как я понял лучше вообще сделать отдельный скрипт крона, не зависящий от wp.

    Типа по запуску коннект к базе с выборкой из бд и потом выполнение действий.

    На счет инключа, то этого я так понял мало:

    require_once ($_SERVER[«DOCUMENT_ROOT»].»/wp-load.php»);

    Работает, оказывается я забыл прописать

    global $wpdb;

    По этому думал что нужно ещё что-то подключать.

    А зачем вы в базу лезете? Весь апи доступен

    В каком смысле весь api доступен ?

    Тут наверно всегда можно вспомнить форму обратной связи. Чем она отличается от вашего плагина? Стучите по аякс или создайте отдельный роут.

    Если я правильно понял, смысл в том чтобы вызывать сервереным кроном, аякс, который будет вызывать запуск скрипта ?

    Почему Вы говорите в раках скрипта, а не плагина. У Вас отдельный скрипт или плагин? Если свой скрипт как то интегрируете с вордпресс, то вызываем вп через методы описанные выше. Если все же плагин (а по предыдущим сообщениям у Вас вроде плагин) то и управлять им нужно доступными способами например rest api

    Я сделал по другому, я его вообще отделил от плагина и wordpress. Ибо понял что так намного проще. Выходит что скрипт — сам по себе как отдельный функционал, который к примеру собирает данные из БД и что-то сними делает по вызову крона. Так как он запускается не часто, то и нагрузки никакой в принципе нет.

Просмотр 11 ответов — с 1 по 11 (всего 11)