Intereting Posts
Код выполняется за пределами Loop, в то время как тот же код дает уведомление «Неинициализированное строковое смещение» внутри цикла while Как исправить эту ошибку Fatal error: Call to undefined function …? Реализация HTML / CSS-меню в теме WordPress Параметры GET мешают моим настройкам плагина Добавить роль в сети в многопользовательском режиме Сюжетные параметры необходимы Cron Job Keep Run, несмотря на то, что он отключен Вызвать заголовок wp-blog-header.php без выполнения wp_query Создание терминов по таксономии по текстовому полю Как вы обнаружите, установлен ли WordPress в подкаталоге (не root)? шаблон страницы для настраиваемого типа сообщения Facebook «нравится» открытая метафайла в header.php Пользовательский запрос num_rows возвращает неправильную сумму Показать изображение, точно определенное шириной Отображение эскиза и заголовка предыдущего / следующего сообщения в той же категории

$ 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, должны быть почти всегда частью темы, что вам, вероятно, нужно сделать, – это разработать шаблон страницы, который будет использоваться для этой конкретной страницы.