You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress分类中使用自定义字段并在文章列表调用展示

问题原因

原代码的核心错误是the_category()函数的特性:这个函数会直接输出分类链接文本,不会返回分类对象/ID,所以ACF的get_field()根本拿不到正确的分类参数,自然取不到对应的色值。同时自定义WP_Query的循环写法也有遗漏,容易和主查询冲突。

修正后完整代码

<div class="blog-post-grids">
    <?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array('post_type' => 'post', 'posts_per_page' => 9, 'paged' => $paged);
    $wp_query = new WP_Query($args);
    // 自定义查询需要指定查询对象
    while ($wp_query->have_posts()): the_post();
    ?>
    <figure class="blog-post-cart">
        <div><?php the_post_thumbnail();?></div>
        <figcaption>
            <a href="<?php the_permalink() ?>">
                <h2><?php the_title()?></h2>
            </a>
            <p>
                <?php 
                // 获取当前文章关联的所有分类对象
                $categories = get_the_category();
                $category_output = array();
                if (!empty($categories)) {
                    foreach ($categories as $cat) {
                        // ACF读取分类字段的参数格式为 分类法_分类ID
                        $color = get_field('color-code', 'category_' . $cat->term_id);
                        // 拼接带自定义颜色的分类链接
                        $category_output[] = '<a href="' . get_category_link($cat->term_id) . '" style="color:' . esc_attr($color) . '">' . esc_html($cat->name) . '</a>';
                    }
                    // 逗号分隔输出所有分类
                    echo implode(', ', $category_output);
                }
                ?>
            </p>
            <?php the_content(''); ?>
        </figcaption>
    </figure>
    <?php endwhile;
    // 重置全局post数据,避免污染主查询
    wp_reset_postdata();
    ?>
</div>

适配单颜色场景(所有分类共用第一个分类的色值)

如果你不需要每个分类单独设色,想让整个p标签用第一个分类的色值,可以把上面p标签内的逻辑替换为:

<?php 
$categories = get_the_category();
$color = '';
if (!empty($categories)) {
    $color = get_field('color-code', 'category_' . $categories[0]->term_id);
}
?>
<p style="color: <?php echo esc_attr($color) ?>">
    <?php the_category(', ') ?>
</p>

内容的提问来源于stack exchange,提问作者curlybom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:09:03