@Azat2015

Как правильно добавить PHP код на страницу Wordpress?

Вопрос 1.
Есть необходимость размещения различного PHP - кода в приличном количестве страниц Wordpress.
До сих пор делал это создавая для каждой страницы свой шаблон и выбирая его при создании соответствующей страницы в Wordpress, таким образом уже собралось штук 20 шаблонов, используемых по одному разу.
Есть ощущение, что это неверный подход. Если прав, то как правильно решать такую задачу?

Вопрос 2.
Есть отдельная PHP HTML страница, на которой хочется использовать функции Wordpress, например wp_get_current_user(). Как это сделать?

Спасибо.
  • Вопрос задан
  • 2619 просмотров
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, wpcute.ru
1. Смотря что и где и как. Например, с помощью get_template_part подключить файл, прописать в нем условия и код. Или сделать свой тег шаблона или свой шорткод или виджет или произвольные поля задействовать.
Но и шаблоны тоже можно вполне использовать. Хотя опять же, если формализовать что у Вас там вставляется, возможно, удастся уменьшить и их количество.

2. Нужно подключить wp-load.php
require_once("/path/wp-load.php");
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@vylegzhanin
https://wordpress.org/plugins/exec-php/
Неплохой плагин, позволяющий вставлять php-код прямо в текстовый редактор страницы.
Ответ написан
@LawrenceID
На сколько безопасно использовать следующий метод?
Добавляем в файл «functions.php» темы такую функцию:
/* чтобы вставить код php в статьях/страницах WordPress, поставьте шоркод: [exec]код[/exec] */
function exec_php($matches){
    eval('ob_start();'.$matches[1].'$inline_execute_output = ob_get_contents();ob_end_clean();');
    return $inline_execute_output;
}
function inline_php($content){
    $content = preg_replace_callback('/\[exec\]((.|\n)*?)\[\/exec\]/', 'exec_php', $content);
    $content = preg_replace('/\[exec off\]((.|\n)*?)\[\/exec\]/', '$1', $content);
    return $content;
}
add_filter('the_content', 'inline_php', 0);

Теперь вставляйте шорткод прямо в статью или запись:
[exec]здесь php код [/exec]
Ответ написан
Ваш ответ на вопрос

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

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