Intereting Posts
WP не может создать новый каталог Как изменить разметку WordPress вставки для сообщений Можно ли получать фид, чтобы возвращать последние обновленные сообщения, а не последние публикации? список всех дочерних категорий, которые применяются к текущему сообщению, даже если эти кошки пусты? Если сообщение имеет ЛЮБОЙ термин, прикрепленный к нему, получите только первый Редактор / Добавить медиа: возможно ли разрешать только галереи? Странное поведение тега привязки (ссылки на странице, на внешних страницах нет) Добавить настраиваемое поле в категорию настраиваемого типа сообщения Как я могу сделать кучу маршрутов на одной странице? лучший поиск? результаты группового поиска по типу сообщения? class = "parent" для wp_list_pages? Добавление поддержки пересмотра содержимого продукта WooCommerce pre_get_posts дает ошибку 404 в пользовательской почте Где хранятся конфигурации виджетов?

$ wpdb query выводит php-код вместо его выполнения

Я использую следующий код в HTML-странице WordPress в Azure:

<html> <body> <?php global $wpdb; $result = $wpdb -> get_results ( " SELECT 'VillageLeadersName' FROM wp_villageleaderdb WHERE VillageID = 'V001' AND VillageLeaderPosition = 'Sarpanch' LIMIT 0, 100 " ); echo $result; echo $row['VillageLeadersName'] . "<br />"; ?> </body> </html> 

На следующем рисунке показан результирующий экран: введите описание изображения здесь

Запрос отлично работает на консоли администратора. На полученной странице отображается код вместо результатов. Где я ошибаюсь?

Solutions Collecting From Web of "$ wpdb query выводит php-код вместо его выполнения"

Очень ясно, что ваш файл не выполняет функции PHP, и проблема, вероятно, связана с тем, что вы сохраняете этот файл как something.html , сохраняя его в своей теме или в установочном каталоге WordPress.

Что вы можете сделать, это обернуть это как функцию или короткий код, а затем создать страницу и использовать этот короткий код или функцию внутри него.

Вот простой пример для разработки короткого кода из вашего запроса:

 add_shortcode('my-shortcode', 'create_my_shortcode'); function create_my_shortcode(){ global $wpdb; $result = $wpdb -> get_results ( " SELECT 'VillageLeadersName' FROM wp_villageleaderdb WHERE VillageID = 'V001' AND VillageLeaderPosition = 'Sarpanch' LIMIT 0, 100 " ); return $result[0][1] . "<br />"; } 

Поместите этот код в файл functions.php вашей темы, а затем перейдите к New > Page и создайте страницу. После этого вы можете использовать этот короткий код внутри своей страницы:

 [my-shortcode] 

Это будет выполнять и выводить ваш код. Также обратите внимание, что вы не можете echo контент в коротком коде, вы должны return его.

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

 function create_my_shortcode(){ // Your code here } 

Теперь сделайте копию page-whatever.php page.php вашей темы, переименуйте ее в page-whatever.php и измените ее так, как вам нравится. По завершении редактирования используйте create_my_shortcode() любом месте. В этом методе вы можете также echo содержимое.

После этого вы можете использовать этот шаблон при создании новой страницы в фоновом режиме.

ОБНОВИТЬ

Как указано в ваших комментариях, результаты могут быть массивом. Чтобы напечатать массив, вы можете использовать foreach следующим образом:

 $data = ''; foreach( $result as $single_result ){ $data .= $single_result; } return $data. $row['VillageLeadersName'] . "<br />"; 

У вашего веб-сервера, вероятно, есть некоторая неправильная конфигурация в отношении выполнения файлов PHP, но независимо от того, что вы пытаетесь сделать, вероятно, подпадает под «неправильное выполнение». Файлы, генерирующие HTML-файлы Front End, должны быть почти всегда частью темы, что вам, вероятно, нужно сделать, – это разработать шаблон страницы, который будет использоваться для этой конкретной страницы.