未执行对自定义字段的PHP调用。查询似乎阻碍了他们

时间:2014-06-06 作者:universalshrew

<ul class="footer_banner_box_container clearfix">
    <div id="text-4" class="widget widget_text">
        <h3 class="box_header">Our Doctors</h3>
        <div class="textwidget">
            <h3 id="our-docs" style="margin: 10px 20px; padding: 20px; color: #002664;">Our team includes an array of trained experts, who can make critical decisions regarding care that typically would require multiple office visits.</h3>
            <br />
            <ul class="bxslider">
                    <?php
                $args = array(\'post_type\' => \'Doctors\', \'orderby\' => \'rand\');
                $query = new WP_Query( $args );
                ?>
                <?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
                    <?php if ( has_post_thumbnail() ): ?>
                        <a href="<?php the_permalink(); ?>">
                        <div class="view">
                            <li><?php the_post_thumbnail( array(160,225) ); ?></li>
                            <div class="mask">
                            <h4><?php the_title(); ?></h4>
                            </div>
                            </div>
                        </a>
                    <?php endif; ?>
                <?php endwhile; endif;  ?>
            </ul>
        </div>
    </div>
</ul>
<ul class="footer_banner_box_container clearfix">
    <div id="medicenter_contact_details-4" class="widget contact_details_widget">
        <h2 class="box_header"><?php the_field(\'hospital_name\'); ?></h2>
        <ul class="footer_contact_info_container clearfix">
            <li class="footer_contact_info_row">
                <div class="footer_contact_info_left"><?php the_field(\'hospital_address_line_1\'); ?></div>
                <div class="footer_contact_info_right"></div>
            </li>
            <li class="footer_contact_info_row">
                <div class="footer_contact_info_left"><?php the_field(\'hospital_address_line_2\'); ?></div>
                <div class="footer_contact_info_right"></div>
            </li>
            <li class="footer_contact_info_row">
                <div class="footer_contact_info_left"><?php the_field(\'hospital_phone_number\'); ?></div>
                <div class="footer_contact_info_right"></div>
            </li>
        </ul>
    </div>
    <div id="footer_content_1" class="widget widget_text">
        <div class="textwidget">
            <p style="color: #002664;"><?php the_field(\'footer_content_1\'); ?></p>
        </div>
    </div>
    <div id="footer_content_2" class="widget widget_text">
        <div class="textwidget">
            <?php the_field(\'footer_content_2\'); ?>
        </div>
    </div>
</ul>
在我的页脚模板中,我试图重新创建先前存在的小部件。我有一个WP\\u查询设置来调用自定义的post类型,然后我将post\\u缩略图传递给jQuery carousel。下面是另一个小部件区域,我正试图通过使用高级自定义字段来填充值,使其更具动态性。然而,当我以这种方式构造页脚模板时(必须如此),无法进行php调用以获取自定义字段值。当我在第一个footer\\u banner\\u box\\u容器的上方放置第二个footer\\u banner\\u box\\u容器时,它可以工作,但当它放置时却不能工作。可能是主题,但我真的空了。任何帮助都将不胜感激

2 个回复
最合适的回答,由SO网友:Milo 整理而成

你的代码在第二个footer_banner_box_container 正在尝试从其正上方的自定义帖子类型查询中的最后一篇帖子中获取这些字段,因为这是为global $post 什么时候$query->the_post() 在那个循环中被调用。

我假设您需要的是主查询中的字段,而不是辅助查询中的字段,因此必须添加wp_reset_postdata(); 在循环任何其他查询之后,要恢复$post 其原始价值。这样,任何内部使用当前$post 将使用正确的数据并给出预期结果。

SO网友:kraftner

您需要使用wp_reset_postdata(); 在循环之后,再次从原始post数据中提取自定义字段数据。

Have a look at the codex for more details.

结束

相关推荐

未执行对自定义字段的PHP调用。查询似乎阻碍了他们 - 小码农CODE - 行之有效找到问题解决它

未执行对自定义字段的PHP调用。查询似乎阻碍了他们

时间:2014-06-06 作者:universalshrew

<ul class="footer_banner_box_container clearfix">
    <div id="text-4" class="widget widget_text">
        <h3 class="box_header">Our Doctors</h3>
        <div class="textwidget">
            <h3 id="our-docs" style="margin: 10px 20px; padding: 20px; color: #002664;">Our team includes an array of trained experts, who can make critical decisions regarding care that typically would require multiple office visits.</h3>
            <br />
            <ul class="bxslider">
                    <?php
                $args = array(\'post_type\' => \'Doctors\', \'orderby\' => \'rand\');
                $query = new WP_Query( $args );
                ?>
                <?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
                    <?php if ( has_post_thumbnail() ): ?>
                        <a href="<?php the_permalink(); ?>">
                        <div class="view">
                            <li><?php the_post_thumbnail( array(160,225) ); ?></li>
                            <div class="mask">
                            <h4><?php the_title(); ?></h4>
                            </div>
                            </div>
                        </a>
                    <?php endif; ?>
                <?php endwhile; endif;  ?>
            </ul>
        </div>
    </div>
</ul>
<ul class="footer_banner_box_container clearfix">
    <div id="medicenter_contact_details-4" class="widget contact_details_widget">
        <h2 class="box_header"><?php the_field(\'hospital_name\'); ?></h2>
        <ul class="footer_contact_info_container clearfix">
            <li class="footer_contact_info_row">
                <div class="footer_contact_info_left"><?php the_field(\'hospital_address_line_1\'); ?></div>
                <div class="footer_contact_info_right"></div>
            </li>
            <li class="footer_contact_info_row">
                <div class="footer_contact_info_left"><?php the_field(\'hospital_address_line_2\'); ?></div>
                <div class="footer_contact_info_right"></div>
            </li>
            <li class="footer_contact_info_row">
                <div class="footer_contact_info_left"><?php the_field(\'hospital_phone_number\'); ?></div>
                <div class="footer_contact_info_right"></div>
            </li>
        </ul>
    </div>
    <div id="footer_content_1" class="widget widget_text">
        <div class="textwidget">
            <p style="color: #002664;"><?php the_field(\'footer_content_1\'); ?></p>
        </div>
    </div>
    <div id="footer_content_2" class="widget widget_text">
        <div class="textwidget">
            <?php the_field(\'footer_content_2\'); ?>
        </div>
    </div>
</ul>
在我的页脚模板中,我试图重新创建先前存在的小部件。我有一个WP\\u查询设置来调用自定义的post类型,然后我将post\\u缩略图传递给jQuery carousel。下面是另一个小部件区域,我正试图通过使用高级自定义字段来填充值,使其更具动态性。然而,当我以这种方式构造页脚模板时(必须如此),无法进行php调用以获取自定义字段值。当我在第一个footer\\u banner\\u box\\u容器的上方放置第二个footer\\u banner\\u box\\u容器时,它可以工作,但当它放置时却不能工作。可能是主题,但我真的空了。任何帮助都将不胜感激

2 个回复
最合适的回答,由SO网友:Milo 整理而成

你的代码在第二个footer_banner_box_container 正在尝试从其正上方的自定义帖子类型查询中的最后一篇帖子中获取这些字段,因为这是为global $post 什么时候$query->the_post() 在那个循环中被调用。

我假设您需要的是主查询中的字段,而不是辅助查询中的字段,因此必须添加wp_reset_postdata(); 在循环任何其他查询之后,要恢复$post 其原始价值。这样,任何内部使用当前$post 将使用正确的数据并给出预期结果。

SO网友:kraftner

您需要使用wp_reset_postdata(); 在循环之后,再次从原始post数据中提取自定义字段数据。

Have a look at the codex for more details.

相关推荐