Не могу загрузить значения из $ wpdb - PullRequest
0 голосов
/ 27 января 2019

У меня в wordpress db эти значения:

enter image description here

                    global $wpdb;

                    $sql = "SELECT `post_excerpt` FROM `wp_posts` WHERE (`wp_posts`.`post_excerpt` LIKE 'fasad_%') ORDER BY `wp_posts`.`post_excerpt` ASC";
                    $materials = $wpdb->get_results($sql) or die(mysql_error());
                    foreach ($materials as $material) {

                        $fasads_kitchen = $material->post_excerpt;
                        echo $fasads_kitchen;                              
                    }    

Все нормально.Значения показаны.Но после этого мне нужно выполнить функцию foreach следующим образом:

                     foreach ($fasads_kitchen as $fasad_arg) {                            
                        // an error is here
                        if( have_rows($fasad_arg) ): ?>
                               while ( have_rows($fasad_arg) ) : the_row();
                               //something
                    }

Но есть ошибка: В foreach () указан неверный аргумент.Я пытался использовать

foreach ((array)$fasads_kitchen as $fasad_arg) {

, но отладчик говорит, что это не массив.

Это строковая переменная или как?Как это исправить?

Если я использую

$fasads_kitchen = array('fasad_plastic','fasad_mdf') {}

, это работает, но мне нужно загрузить эти значения из wpdb.

1 Ответ

0 голосов
/ 27 января 2019

Вы создаете строку при использовании

$fasads_kitchen = $material->post_excerpt;

$fasads_kitchen должен быть массивом:

$fasads_kitchen = array();    
foreach ($materials as $material) {
    array_push($fasads_kitchen, $material->post_excerpt); 
    // or use one of the many ways to add to an array                         
} 

Затем вы можете просмотреть $fasads_kitchen

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...