在循环内使用 ACF 更改类别名称

Posted

技术标签:

【中文标题】在循环内使用 ACF 更改类别名称【英文标题】:Change the Category Name with ACF inside the loop 【发布时间】:2022-01-04 06:27:17 【问题描述】:

我有以下循环:

<?php
    $args = array(
        'post_type' => 'cpt-a',
        'category_name' => 'my-category',
        'posts_per_page' => 99,
        'orderby' => 'date',
        'order' => 'ASC',
        'ignore_sticky_posts' => 1,
        'paged' => $paged);
            $loop = new WP_Query($args);
            if ($loop->have_posts()) :
            while ($loop->have_posts()) : $loop->the_post(); ?>
        
                <div><?php echo get_the_content(); ?></div>
                <span ><?php the_title(); ?></span>

<?php endwhile;
endif;
wp_reset_postdata();
?>

是否可以使用自定义字段 (ACF) 代替“my-category”?我尝试了所有已知的选项,但找不到可行的解决方案。

【问题讨论】:

自定义字段到底是什么?一个,由这里的“父”页面或帖子决定?或者存储在您希望此查询返回的每个单独的帖子中? 您好@CBroe,感谢您的回复。我正在尝试实现类似 'category_name' => '' 当然,我展示的内容不起作用,WordPress 给出了一个严重错误。所以我在这里,因为我不知道如何转换这段代码, PHP 标记当然不属于那里——你 已经 在 PHP 标记中,它们不能嵌套。这应该只是'category_name' =&gt; $section_reviews['reviews_cat'], @CBroe 非常感谢!它正在工作:) 你甚至无法想象你是如何帮助我的!请将此解决方案添加为单独的答案,以便我可以正确提交 【参考方案1】:

你只想在之前有静态文本文字的地方使用变量的值,但是用

'category_name' => '<?php echo $section_reviews['reviews_cat']; ?>'

您编写了无效代码。你已经在 PHP 标签里面了,不能嵌套。

你只需要把变量名放在那里,

'category_name' => $section_reviews['reviews_cat'],

【讨论】:

以上是关于在循环内使用 ACF 更改类别名称的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 类别循环无法检索 ACF 图像给出图像值:NULL

从 Wordpress 中自定义帖子类型的类别中获取 ACF 文本字段值

子/子类别中的 ACF 字段

WooCommerce 类别和 ACF

如何在 wordpress 中显示自定义帖子类别名称列表

Wordpress ACF 选择:动态使用类别作为选择时仅返回第一个对象