【问题标题】:PHP interfering with Advanced Custom Fields?PHP 干扰高级自定义字段?
【发布时间】:2020-05-02 05:41:13
【问题描述】:

PHP 代码似乎阻塞或干扰了我的高级自定义字段,因为除非我删除 PHP 代码,否则它不会显示。我不知道问题出在哪里。

非常感谢任何帮助。

PHP

<?php if(strpos($_SERVER['REQUEST_URI'], 'gaeilge') !== false) {

             $newsCat = 'cat=5,7&showposts=3';
    } else {
             $newsCat = 'cat=6,8&showposts=3';
         }; ?>

高级自定义字段

  <div class="carousel-item active">
                    <div class="row py-5">

                        <?php if( have_rows('block') ): ?>

                <?php while( have_rows('block') ): the_row(); 

                    // vars
                    $content = get_sub_field('content');
                    ?>

         <div class="col-lg-4 col-md-4">

                    <?php if(strpos($_SERVER['REQUEST_URI'], 'gaeilge') !== false) { ?> <!--Check if url contains the word "items"  -->
                        <h2 class="fw-b c-blue mt-0">Ár bhFís</h2>
                    <?php } else { ?>
                        <h2 class="fw-b c-blue mt-0">Our Vision</h2>
                    <?php } ?>

                        </div>
                        <div class="col-lg-8 col-md-8">
                            <p class="c-blue mb-0"><?php echo $content; ?></p>
                        </div>  

                <?php endwhile; ?>

            <?php endif; ?>

                    </div>
                </div>

【问题讨论】:

  • 你遇到了什么错误?
  • 当我的页面中还包含 PHP 代码时,ACF 中继器不显示。没有任何类型的错误消息。如果我删除 ACF 会显示的 PHP 代码。试图找出原因。
  • 所以不显示任何来自 IF 的条件?
  • 您在第一个 if/else 块中所做的只是为 $newsCat 分配不同的值。该变量用于什么,在哪里? “因为它不显示” - 检查你的脚本创建的实际 HTML 代码在那个地方的样子。输出可能存在,但由于 HTML 中的嵌套错误或类似问题而未显示。
  • 第一个 if/else 块用于在主页上显示新闻文章。它显示正常,但似乎干扰了不显示的 ACF php。 ACF 未出现在 HTML 中。我对 php 还很陌生,所以我不是 100% 解决这些问题,

标签: php wordpress bootstrap-4 advanced-custom-fields


【解决方案1】:

仅通过更改新闻文章的添加方式来修复它。

    <div class="row pt-4 pb-3"> 

            <?php
            // args
            $args = array(
                'posts_per_page'    => -1,
                'post_type'     => 'post'

            );
            // query
            $the_query = new WP_Query( $args );
            ?>
            <?php if( $the_query->have_posts() ): ?>
                <?php while( $the_query->have_posts() ) : $the_query->the_post();
                    ?>
                    <div class="col-lg-4 col-md-4 col-sm-6 mb-5">
                        <div class="w-100 mb-2 px-2">
                           <a href="<?php the_permalink(); ?>"><img class="w-100" src="<?php $featimage = the_post_thumbnail_url('news-image'); ?>" alt=""></a>
                           <p class="text-muted mt-4 mb-2"><?php echo get_the_date('dS M, Y'); ?></p>
                           <a href="<?php the_permalink(); ?>"> <h3 class="c-blue"><?php the_title(); ?></h3></a>

                        </div>
                    </div>

                <?php endwhile; ?>
            <?php endif; ?>

            <?php wp_reset_query();  // Restore global post data stomped by the_post(). ?>

    </div>

【讨论】:

    猜你喜欢
    • 2013-07-14
    • 2015-01-21
    • 2013-07-28
    • 1970-01-01
    • 2017-12-16
    • 2012-01-17
    • 2017-08-28
    • 2018-08-06
    • 2013-11-25
    相关资源
    最近更新 更多