@Shimpanze

Как получить данные страницы (get_post_field) не в файле который лежит в папке темы, а в файле, который лежит в корне сайта?

Здравствуйте!

Необходимо получить содержимое определенного поста в файле, который находится в корне сайта (site.ru/my-file.php). Не в папке темы (site.ru/wp-content/themes/my-theme/...).

Получать буду через:

<?php echo get_post_field('post_content', 555); ?>

Как это можно сделать?
  • Вопрос задан
  • 43 просмотра
Решения вопроса 2
lamer350
@lamer350
wp x (nginx + php7 + opcache) = love
Нужно подключить ядро WP к вашему файлу, 100лет такого не делал - но если память не изменяет то там просто нужно подтянуть в ваш файл wp-load.php из корня сайта. Лучше погуглить просто.
Ответ написан
Outcomer
@Outcomer
Решаю сложные задачи
Человек это и делает - гуглит.
У вас при выполнении кода будет доступ к базе данных в которой находится искомый пост? Скорее всего - да. Предлагаю получить нужные данные прямо из базы обычным запросом в нее. Это можно сделать простыми средствами пхп.
Можно сделать средствами ВП, тогда надо подключить его класс wpdb.
Также можно сделать как предлагают - инициализировать целиком ядро ВП, подключив wp-load.php. Станет доступен весь функционал и запрос будет в итоге выполнен через get_post_field.
Я бы шел по пути wpdb. Это немногим медленнее, чем пхп, но значительно быстрее, чем функция get_post_field, которая именно это и сделает - выполнит запрос средствами класса wpdb и также загрузит в память все остальное, что наверное не нужно. В чистом виде запрос будет выполняться X милисекунд, через wpdb 1.5*X милисекунд, через функцию - 200 * X милисекунд. Потому что будет инициализировано все ядро, за исключением wp-cron.php.
При этом вы отстенесь префиксонезависимы к именам таблиц.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы