如何在 wordpress 的类别上使用自定义字段?
How can I use custom field on categories in wordpress?
我已将自定义字段添加为 color-code
到我的类别,我想显示每个 post 的类别并带有该颜色代码。我尝试了下面的代码,但它无法按我需要的方式工作。
<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 (have_posts()): the_post();?>
<?php
$color = get_field('color-code', the_category());
?>
<figure class="blog-post-cart">
<div><?php the_post_thumbnail();?></div>
<figcaption>
<a href="<?php the_permalink() ?>">
<h2><?php the_title()?></h2>
</a>
<p style="color: <?php echo $color ?>">
<?php echo the_category(', ') ?>
</p>
<?php the_content(''); ?>
</figcaption>
</figure>
<?php endwhile;?>
</div>
视色码类型而定
如果在十六进制前加#,
或者确保它是 rgb 格式,如 rgb(143 98 188)
为此,您需要类别的 ID,如下所述:
https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/
您的 get_field() 格式如下:
$color = get_field('color-code', 'category_123');
其中“123”是类别的 ID。
在 get_field 赞之前,添加:
$thisCategory = get_the_category();
$thisCategory 将是循环中附加到当前 post 的所有类别的数组。
然后将你的 $color = get_field() 行替换为:
$color = get_field('color-code', 'category_'.$thisCategory[0]->term_id);
$thisCategory[0]->term_id 将 return 附加到 post 的第一个类别的类别 ID。
因此,将所有内容放在一起,这将是新代码:
<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 (have_posts()): the_post();?>
<?php
$thisCategory = get_the_category();
$color = get_field('color-code', 'category_'.$thisCategory[0]->term_id);
?>
<figure class="blog-post-cart">
<div><?php the_post_thumbnail();?></div>
<figcaption>
<a href="<?php the_permalink() ?>">
<h2><?php the_title()?></h2>
</a>
<p style="color: <?php echo $color ?>">
<?php echo the_category(', ') ?>
</p>
<?php the_content(''); ?>
</figcaption>
</figure>
<?php endwhile;?>
</div>
我已将自定义字段添加为 color-code
到我的类别,我想显示每个 post 的类别并带有该颜色代码。我尝试了下面的代码,但它无法按我需要的方式工作。
<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 (have_posts()): the_post();?>
<?php
$color = get_field('color-code', the_category());
?>
<figure class="blog-post-cart">
<div><?php the_post_thumbnail();?></div>
<figcaption>
<a href="<?php the_permalink() ?>">
<h2><?php the_title()?></h2>
</a>
<p style="color: <?php echo $color ?>">
<?php echo the_category(', ') ?>
</p>
<?php the_content(''); ?>
</figcaption>
</figure>
<?php endwhile;?>
</div>
视色码类型而定
如果在十六进制前加#,
或者确保它是 rgb 格式,如 rgb(143 98 188)
为此,您需要类别的 ID,如下所述: https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/
您的 get_field() 格式如下:
$color = get_field('color-code', 'category_123');
其中“123”是类别的 ID。
在 get_field 赞之前,添加:
$thisCategory = get_the_category();
$thisCategory 将是循环中附加到当前 post 的所有类别的数组。
然后将你的 $color = get_field() 行替换为:
$color = get_field('color-code', 'category_'.$thisCategory[0]->term_id);
$thisCategory[0]->term_id 将 return 附加到 post 的第一个类别的类别 ID。
因此,将所有内容放在一起,这将是新代码:
<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 (have_posts()): the_post();?>
<?php
$thisCategory = get_the_category();
$color = get_field('color-code', 'category_'.$thisCategory[0]->term_id);
?>
<figure class="blog-post-cart">
<div><?php the_post_thumbnail();?></div>
<figcaption>
<a href="<?php the_permalink() ?>">
<h2><?php the_title()?></h2>
</a>
<p style="color: <?php echo $color ?>">
<?php echo the_category(', ') ?>
</p>
<?php the_content(''); ?>
</figcaption>
</figure>
<?php endwhile;?>
</div>