Как использовать шорткоды WordPress в пользовательском файле php?

Я хочу отобразить wpdatatables (плагин) в своем пользовательском файле PHP, поэтому я хотел использовать функцию «do_shortcode ()», но ничего не работает, он просто показывает белый экран.

мой код файла php:

<?php
    $path = $_SERVER['DOCUMENT_ROOT'];
    include_once $path . '/wp-config.php';
    include_once $path . '/wp-load.php';
    include_once $path . '/wp-includes/wp-db.php';
    include_once $path . '/wp-includes/pluggable.php';
    define('WP_USE_THEMES', false);
    echo do_shortcode("[wpdatatable id=1]");
 ?>

person Kunal Patel    schedule 12.06.2019    source источник
comment
проверьте этот контрольный список   -  person Parthavi Patel    schedule 12.06.2019


Ответы (3)


Я думаю, что вы как-то не попадаете на правильную страницу. Можете ли вы попытаться просто повторить что-то в этом коде? Даже если шорткод не работает, вы должны увидеть эхо [wpdatatable id=1] на экране.

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

person GMarco24    schedule 12.06.2019
comment
эхо работает, и я пробовал, шорткод страницы wordpress работает - person Kunal Patel; 12.06.2019
comment
Я попробовал ваш код со свежей установкой wp и плагином wpdatatables lite, и он работает нормально. Вы можете попробовать отключить все другие плагины и изменить тему по умолчанию. Но еще один вопрос: вы проверяли исходный код? - person GMarco24; 12.06.2019
comment
как вы заставили его работать, я только что переустановил wordpress и попробовал еще раз, все, что я получаю, это белый экран и никаких ошибок. и на какой исходник ссылаться? - person Kunal Patel; 12.06.2019
comment
Это работает для меня, поверьте мне. На пустой странице в браузере нажмите ctrl+u. Может быть, это не так пусто. - person GMarco24; 12.06.2019
comment
теперь все, что я получаю, это заголовок таблицы и сгенерировано wpDataTables, и таблица не отображается, но, как вы сказали, я вижу код таблицы в исходном коде, есть идеи, почему он не отображается? - person Kunal Patel; 12.06.2019
comment
ps: только что внимательно проверил таблицу style=display: none; Спасибо за вашу помощь - person Kunal Patel; 12.06.2019

Включите режим отладки, вы получите причину белого экрана. Например, поместите этот код в свой wp-config.php и перезагрузите страницу.

define('WP_DEBUG', true);
person Pavan Yogi    schedule 12.06.2019

Пытаться

echo apply_filters( "the_content","[wpdatatable id=1]");

вместо do_shortcode() и посмотрите, производит ли это вывод

person Rajesh Kakkad    schedule 12.06.2019
comment
(1) Попробуйте использовать одинарные кавычки вместо двойных (2) Проверьте, не записаны ли в файле error_log какие-либо ошибки (3) Попробуйте использовать какой-нибудь очень простой шорткод, и если это сработает, шорткод, который вы пытаетесь использовать, нарушает вывод страницы - person Rajesh Kakkad; 12.06.2019
comment
пытался использовать одинарную кавычку, не работало, а error_log был пуст - person Kunal Patel; 12.06.2019