2013-10-02 2 views
0

У меня есть статическая страница с областью расширенного пользовательского поля (ACF) «ретранслятор» и некоторый код для ввода некоторых пользовательских сообщений.WordPress - расширенные пользовательские поля, столкнувшиеся со статическими сообщениями

У меня этот код в верхней части страницы.

<?php get_header(); the_post(); query_posts('post_type=team_profiles') ?> 

Если оставить так, я вижу свои сообщения, но не данные из ACF. Если я вынимаю следующий раздел:

query_posts('post_type=team_profiles') 

Я вижу поля ACF, но не данные сообщения.

Мои вопросы, во-первых, почему это происходит, а во-вторых, как я могу иметь их обоих на одной странице?

Код для АКФА и ДОЛЖНОСТИ в моей статической странице выглядит следующим образом:

ACF Repeater поле

<?php if(get_field('about_sections')): ?> 

    <?php while(has_sub_field('about_sections')): ?> 

    <div class="asset image"> 

    <?php the_sub_field('about_section'); ?> 

    </div> <!-- asset image --> 

    <?php endwhile; ?> 

    <?php endif; ?> 

ПОСТЫ

<?php if (have_posts()) : ?> 

    <?php while (have_posts()) : the_post(); ?> 

    <?php get_template_part('content-single-team-profile', get_post_format()); ?> 

    <?php endwhile; ?> 

    <?php endif; ?> 
+0

Было бы полезно, если вы предоставите полный исходный код. – Fabio

ответ

0

Это происходит потому, что основной запрос когда вы вызываете get_posts(). Вы можете:

  • Вызовите get_posts() ПОСЛЕ вы получите все, что вам нужно от статической страницы (значения полей ретрансляторов и т.д.).

ИЛИ

  • Вызов wp_reset_query() ПЕРЕД пытается получить значения из статической страницы. Это установит исходные параметры для основного запроса этой страницы.

Взгляните на это: http://codex.wordpress.org/Function_Reference/wp_reset_postdata

Те простые решения. Более сложные и лучшие будут включать создание объекта WP_Query и повторение его сообщений вместо того, чтобы полагаться на глобальные переменные.

+0

Спасибо за вашу помощь, имеет смысл. Я действительно думал, что, возможно, написал слишком много кода. Я отметил это для будущих вопросов. – Johnny

Смежные вопросы