@MaksZhukov
programer

Почему выводятся не все данные поста?

Выводя блок отзывов в шаблоне страницы то всё нормально:
<div class="recall_block" style="background-image: url('<?php echo get_template_directory_uri() ?>/assets/img/bg_recall.jpg');">
        <div class="container">
          <div class="custom_title text-center">
            <h2>Отзывы клиентов</h2>
          </div>
          <div class="row">
              <?php

              // параметры по умолчанию
              $args = array(
                  'numberposts' => 3,
                  'post_type'   => 'reviews',
                  'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
              );

              $posts = get_posts( $args );

          foreach($posts as $post): setup_postdata($post)?>
            <div class="col">
              <div class="recall">
                <div class="picture">
                    <img src="<?php the_post_thumbnail_url( 'full' );?>">
                </div>
                <div class="name"><?php the_title(); ?></div>
                <p><?php echo get_the_content(); ?></p>
              </div>
            </div>
              <?php  endforeach;
              wp_reset_postdata(); // сброс
              ?>
          </div>
          <div class="row">
            <div class="col text-center">
              <div class="watch_all"><a href="#/reviews/">Смотреть все</a></div>
            </div>
          </div>
        </div>
      </div>

5a9181400ce7d259441578.png

А выводя этот код через функцию , то не выводятся все данные:
if ( ! function_exists( 'mebel_reviews' ) ) {

function mebel_reviews(){
?>
          <div class="recall_block" style="background-image: url('<?php echo get_template_directory_uri() ?>/assets/img/bg_recall.jpg');">
        <div class="container">
          <div class="custom_title text-center">
            <h2>Отзывы клиентов</h2>
          </div>
          <div class="row">
              <?php

              // параметры по умолчанию
              $args = array(
                  'numberposts' => 3,
                  'post_type'   => 'reviews',
                  'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
              );

              $posts = get_posts( $args );

          foreach($posts as $post): setup_postdata($post)?>
            <div class="col">
              <div class="recall">
                <div class="picture">
                    <img src="<?php the_post_thumbnail_url( 'full' );?>">
                </div>
                <div class="name"><?php the_title(); ?></div>
                <p><?php echo get_the_content(); ?></p>
              </div>
            </div>
              <?php  endforeach;
              wp_reset_postdata(); // сброс
              ?>
          </div>
          <div class="row">
            <div class="col text-center">
              <div class="watch_all"><a href="http://mebel.amtex.by/reviews/">Смотреть все</a></div>
            </div>
          </div>
        </div>
      </div>
<?php
}
}

5a9181eb541d6797599932.png
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Попробуйте в начале функции добавить global $post; (или перед началом foreach).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы