猿问

get_template_part() 不适用于高级自定义字段插件

我在 WordPress 项目上工作,我在一个名为 testimonials.php 的特殊文件中创建了推荐,我通过 get_template_part 在关于我们的页面上调用了该文件,它工作正常,但是当我调用 (testimonials.php) 到主页时,没有显示所有部分的输入。


使用高级自定义字段插件


这段代码


<!-- Start Section Testimonials -->

<section class="testimonials section-padding">

    <div class="carousel-right col-lg-7 col-md-7 col-sm-7 col-xs-12">

        <div class="owl-carousel">

            <?php $testimonials = array ('post_type' => 'Testimonials' , 'order' => 'ASC');

                $query = new wp_query($testimonials);

                    if ($query->have_posts()) {

                    while ($query->have_posts()){

                        $query->the_post(); ?>

                            <!-- Start Item 1 -->

                            <div class="testimonials-item">

                                <!-- Testimonials Text -->

                                <div class="testimonials-text-item">

                                    <?php the_content(); ?>

                                </div>

                                <!-- Testimonials Title -->

                                <div class="testimonials-title clearfix">

                                    <!-- Title Img -->

                                    <div class="title-img">

                                        <img src="<?php the_field('image'); ?>" alt="testimonials">

                                    </div>

                                    <!-- Title Text -->

                                    <div class="title-text">

                                        <h3><?php the_title(); ?></h3>

                                        <p><?php the_field('small_title'); ?></p>

                                    </div>

                                </div>

                            </div>

                            <!-- End Item 1 -->

                        <?php }} ?>

        </div>


临摹微笑
浏览 122回答 2
2回答

宝慕林4294392

如果您在单个页面中使用它,它运行良好,如果您需要它在主页中运行,则需要在 ACF 函数中添加页面 ID,例如$testimonials&nbsp;=&nbsp;get_field('testimonials',the_ID);

温温酱

1 - 根据您的代码 get_field('testimonials') 需要是一个数组,因此最好的方法是为此函数提供默认值数组,例如:$testimonials = get_field('testimonials', array(&nbsp; &nbsp; 'small_title' => '',&nbsp; &nbsp; 'main_title' => '',&nbsp; &nbsp; 'description' => ''));因此,如果字段不是数组或空值,则通过这种方式设置默认值,因为有时如果数据库中没有记录当前帖子的数据,此函数将返回空值。2 - 以下字符串通过给定键获取数组 $testimonials 值:echo $testimonials['small_title'];echo $testimonials['main_title'];echo $testimonials['description'];但是如果键不在数组 $testimonials 中呢?您将需要使用 PHP 函数isset()和速记条件if语句以避免警告消息或破坏 html 代码。这是正确的方法:echo isset($testimonials['small_title']) ? $testimonials['small_title'] : '';echo isset($testimonials['main_title']) ? $testimonials['main_title'] : '';echo isset($testimonials['description']) ? $testimonials['description'] : '';我希望这能帮助您解决问题
随时随地看视频慕课网APP
我要回答