Поддержка Проблемы и решения Не работает сброс «wp_reset_postdata»

  • Здраствуйте.
    Совсем недавно начал изучать вордпресс. И возникла проблема при выводе статтей на странице category.php
    Дело в том что в шапке выводятся произвольные поля с контактами:

    <?php $posts = get_posts( array(
    'numberposts' => 1,
    'post_type'   => 'contacts'
    ));
    foreach( $posts as $post ){
    setup_postdata($post);
    ?>
    <a href="<?php the_field('facebook_link'); ?>" class="header-social-link">facebook			</a>
    <?php } wp_reset_postdata();  ?>

    Потом идет стандартный цикл вывода заголовков статтей:

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    	<!-- Цикл WordPress -->
    	<p>Выводим данные записи. Здесь работают функции для цикла, например, the_title() </p>
    	<h2><?php the_title() ?></h2> 
    <?php endwhile; else : ?>
    	<p>Записей нет.</p>
    <?php endif; ?>

    Но он выводит посты из категории «contacts».
    Как можно решить эту проблему?

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Как можно решить эту проблему?

    Собственно о какой проблеме идёт речь?

    на странице category.php

    В WP нет такой страницы. Это шаблон архива категории.

    • Ответ изменён 5 лет, 2 месяца назад пользователем O.
    Модератор Yuri

    (@yube)

    Но он выводит посты из категории «contacts».

    А не должен? Из категории (правильный перевод термина «category» — «рубрика») или записи типа ‘contacts’? Это совершенно разные вещи.

    Иногда помогает вот это https://developer.wordpress.org/reference/functions/wp_reset_query/

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Не работает сброс «wp_reset_postdata»» закрыта для новых ответов.