繁体   English   中英

根据页面顺序,wordpress中的the_field不以html输出

[英]the_field in wordpress not outputting in html depending on the order of pages

我有一些我无法理解的东西。 我在wordpress中做了一个页面布局网站。 它由一个template-index.php组成,只有一个mainContainer div和大约6个include_once template-。 然后在wordpress的管理部分中,我使用了高级自定义字段来创建所有与template-index.php相关的不同字段。

除了最后一帧或最后包含的文字,一切都很好。 但这是奇怪的事情。 如果我更改了最后两个包含的顺序,则两个文本都显示得很好,然后当我更改顺序时,最后一个包含的顺序又变松了。

我检查了代码,每个php标记都已关闭,包括之前也包含在内。 我不知道。 你们中的某人曾经发生过这样的事情吗? 会是什么呢?

谢谢

编辑:这是一些代码。 因此索引页面非常简单:

<?php
 /* Template Name:  index template */ 
?>

<?php get_header(); ?>
<div class="mainContainer"id='fullpage'>

    <?php include_once 'template-about.php'; ?>
    <?php include_once 'template-theDesign.php'; ?>
    <?php include_once 'template-theApp.php'; ?>
    <?php include_once 'template-getApp.php'; ?>
    <?php include_once 'template-community.php'; ?>
    <?php include_once 'template-contact.php'; ?>

</div>
<?php get_footer(); ?>enter code here

最后两个包括如下内容:

<?php
 /* Template Name: Bob community template */ 
?>
<!-- <div id="section-5"> -->
<div class="sectionContainer community section" id='section_five'>
 <div class="container main">
    <div class="vertical100 firstSection col-md-12 topSection ">
        <section class='worldMap animation col-md-6'>
            <div class="imgContainer">
                <div class="wordpressImg">
                    <img class='worldMap' src="<?php echo get_template_directory_uri(); ?>/img/worldmap.png" />
                </div> <!-- wordpressImg -->
            </div><!-- imgContainer -->
        </section>
        <section class="explications col-md-6">
            <div class="communityExplication">
                    <div class="wordpressTexte">
                        <?php the_field('community_text'); ?>  
                        <div class="stories">
                            <?php 
                                $args = array( 'post_type' => 'stories', 'posts_per_page' => 8, 'orderby' => 'rand' );
                                $loop = new WP_Query($args);
                                $posts = $loop->posts;

                                if(have_posts()) {  
                                    $first = true; ?> 
                                <div class="storieAligner">
                                    <div class="stories-container "> 
                                        <?php
                                        $count = 0;
                                        while($loop->have_posts() ) : $loop->the_post(); 
                                            $randomPost = $posts[$count];
                                            $image = get_field('images');
                                            $temoignage = get_field('temoignage');
                                        ?>              
                                            <!-- <div class="storiePhoto"> -->
                                            <div class='storiesThumbs' style='background-image: url("<?php echo $image['url'];  ?>")'  data-temoignage="<?php echo $temoignage; ?>"></div>
                                                <div class="categorie"></div>
                                            <!-- </div>  -->

                                        <?php $count++; endwhile; ?>
                                    </div> <!-- stories-container -->
                                    <div class="fullStorie hiddenStorie">
                                        <div class="back"></div>
                                        <div class="leftDiv">
                                            <div class="leftContent">

                                            </div>
                                        </div>
                                        <div class="rightDiv">
                                            <div class="rightContent"></div>
                                        </div>
                                    </div> 
                                </div> <!-- storieAligner -->
                            <?php }; ?> <!-- if have_posts -->  

                        </div> <!-- stories -->
                        <div class="linkContainer" ><a class='formToggle pinkButton roll' href="#" title="Wha you say"><span data-title='What you say'>What you say</span></a></div>

                    </div> <!-- wordpressTexte -->
            </div> <!-- commnunityExplication -->
            <!-- <div class="storiesFormContainer"> -->
                <div class="storiesForm hidden">
                    <div class="formContainer">
                        <h1><?php echo __('Leave a Review of your app ', 'site'); ?></h1>
                        <?php echo do_shortcode('[contact-form-7 id="89" title="community-contact"]'); ?>

                    </div>
                </div>
            <!-- </div> storiesFormContainer -->
        </section>
    </div> <!-- get app -->
</div> <!-- main -->

和这样的联系人模板

<?php
 /* Template Name: Contact-us template */ 
?>
<!-- section-6 -->
<div class="sectionContainer contact section" id='section_six'>
  <div class="container main" >
    <div class="vertical100 col-md-12 topSection ">
        <section class='explications col-md-3'>
            <div class="blockTexte">
                <div class="wordpressTexte">
                    <?php the_field('questions'); ?>
                    <a class ='pinkButton roll' href="#" title="visit page"><span data-title='<?php echo __('visit page', 'site'); ?>'><?php echo __('visit page', 'site'); ?></span></a>
                </div>
            </div>
        </section>
        <section class="formulaire col-md-9">
            <div class="formContainer">
                <div class="wordpressForm">
                    <?php echo do_shortcode('[contact-form-7 id="44" title="contact-us"]'); ?>
                </div>
            </div>
        </section>
    </div> <!-- knowBob -->
</div>

那怎么可能出问题了? 附言:我知道代码中有些法语和英语。 我通常会先写出什么。

完成自定义查询的循环后,需要使用wp_reset_postdata将发布数据重置为原始查询:

 <div class="stories-container "> 
 <?php
     $count = 0;
     while($loop->have_posts() ) : $loop->the_post(); 
         $randomPost = $posts[$count];
         $image = get_field('images');
         $temoignage = get_field('temoignage');
 ?>              
 <!-- <div class="storiePhoto"> -->
      <div class='storiesThumbs' style='background-image: url("<?php echo $image['url'];  ?>")'  data-temoignage="<?php echo $temoignage; ?>"></div>
      <div class="categorie"></div>
 <!-- </div>  -->

 <?php $count++; endwhile; wp_reset_postdata(); ?><!-- this line here -->
 </div> <!-- stories-container -->

否则, $post对象将保留为$loop查询的最后一个帖子,从而导致幕后其他任何对帖子数据的请求(在您的情况下为get_field )都引用错误的帖子,直到再次遇到外部循环为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM