@3dben

Почему вываливается такая ошибка?

У меня появились вот такие ошибки:
Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\TITAN\wp-content\themes\titan\main-page.php on line 185 и т.д.


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

Далее я вытягиваю данные из нужных мне произвольных полей и выводу всё это ввёрстке:

<div class="row">
                <?php $tm_list = carbon_get_the_post_meta('tm_select', 'association');
                ?>

                <?php foreach ($tm_list as $item): ?>
                    <div class="mb-sm-20 wow fadeInUp col-sm-6 col-md-3" onclick="wow fadeInUp">
                        <div class="team-item">
                            <div class="team-image"><img
                                        src="<?php echo carbon_get_post_meta($item['id'], 'team_img'); ?>"
                                        alt="Member Photo"/>
                                <div class="team-detail">
                                    <h5 class="font-alt"><?php echo carbon_get_post_meta($item['id'], 'team_title'); ?></h5>
                                    <p class="font-serif"><?php echo carbon_get_post_meta($item['id'], 'team_desc'); ?></p>
                                    <div class="team-social">
                                    <?php $st =  carbon_get_post_meta($item['id'], 'team_list', 'complex'); ?>

                                    <?php foreach ($st as $item2): ?>
                                        <a href="<?php echo $item2['team_link']; ?>"><i class="<?php echo $item2['team_icon']; ?>"></i></a>
                                    <?php endforeach; ?>
                                    </div>
                                </div>
                            </div>
                            <div class="team-descr font-alt">
                                <div class="team-name"><?php echo carbon_get_post_meta($item['id'], 'team_name'); ?></div>
                                <div class="team-role"><?php echo carbon_get_post_meta($item['id'], 'team_pos'); ?></div>
                            </div>
                        </div>
                    </div>

                <?php endforeach; ?>

            </div>


Затем я разобрался с таксономиями и вернулся к секции где выводится последние 6 работ из портфолио
Для вывода этих записей я самостоятельно создал custom_post_type и вывожу их:

<ul class="works-grid works-grid-gut works-grid-3 works-hover-w" id="works-grid">
           <?php
           $args = [
                'post_type' => 'portfolio_post_type',
            ];

           $works = new  WP_Query($args);

            ?>

           <?php if($works->have_posts()):?>
            <?php while ($works->have_posts()):?>
            <?php $works->the_post();?>
            <li class="work-item illustration webdesign">
                <a href="<?php echo get_permalink(); ?>">
                    <div class="work-image"><img src="<?php echo get_the_post_thumbnail(); ?>" alt="Portfolio Item"/></div>
                    <div class="work-caption font-alt">
                        <h3 class="work-title"><?php echo  get_the_title();?></h3>
                       <div class="work-descr"><?php echo get_the_excerpt(); ?></div>
                    </div>
               </a></li>
                <?php endwhile;?>
            <?php endif;?>
       </ul>


Проблема в том что после того как я добавил код для вывода записей последних работ портфолио. У меня появились ошибки:
<b>Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\TITAN\wp-content\themes\titan\main-page.php on line 185 и т.д.</b>


Он ругается на foreach потому что после добавления кода который выводит последние записи из порфолио

В переменной:
<?php $tm_list = carbon_get_the_post_meta('tm_select', 'association');


Образуется пустота!!! т.е. если выполнить var_dump($tm_list); то выдаст string 0 а если убрать код который выводит последние работы в портфолио в переменной вновь есть данные О_о
такого вида:
array(4) {
  [0]=>
  array(3) {
    ["id"]=>
    string(2) "24"
    ["type"]=>
    string(4) "post"
    ["post_type"]=>
    string(14) "team_post_type"
  }


Я не понимаю где я ошибся. Почему после добавления кода который выводит работы из портфолио у меня вываливается эта ошибка.
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 1
Konstantin18ko
@Konstantin18ko
Стоматолог
var_dump($tm_select);
Ответ написан
Ваш ответ на вопрос

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

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