为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
临摹微笑 2021-08-21 10:34:31
我在 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>
查看完整描述

2 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

如果您在单个页面中使用它,它运行良好,如果您需要它在主页中运行,则需要在 ACF 函数中添加页面 ID,例如

$testimonials = get_field('testimonials',the_ID);


查看完整回答
反对 回复 2021-08-21
?
温温酱

TA贡献1752条经验 获得超4个赞

1 - 根据您的代码 get_field('testimonials') 需要是一个数组,因此最好的方法是为此函数提供默认值数组,例如:


$testimonials = get_field('testimonials', array(

    'small_title' => '',

    'main_title' => '',

    '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'] : '';

我希望这能帮助您解决问题


查看完整回答
反对 回复 2021-08-21
  • 2 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信