列出具有自定义字段值的 WP 类别
List WP Categories with Custom field Values
我使用 ACF 插件将字段组添加到默认的 WP 类别 Add/Edit 屏幕,以便我可以向类别添加其他值,例如类别 icon/background 图片、是否显示在主页上的复选框并将其指定为热门类别之一。
我正在尝试根据受欢迎程度复选框列出主页上的所有类别及其图标和背景图像。
我有两个图像字段,例如 category_icon 用于存储类别图标和 category_bg_image 用于存储类别背景图像。
下面是我能够列出类别的代码,但未显示图标和背景图像的自定义字段值。
if (have_posts() ) :
while (have_posts() ) : the_post();
$args=array(
'hide_empty' => '0',
'meta_key' => 'popular_services_category'
);
$categories=get_categories($args);
foreach($categories as $category) {
echo '<li>' . $category->name . '</li>';
global $post;
$terms = get_the_terms($post->ID, 'category');
if( !empty($terms) )
{
$term = array_pop($terms);
$custom_field = get_field('category_icon', 'category_' . $term->term_id );
echo '<li>' . $custom_field['url'] . '</li>';
}
}
endwhile;
我只需稍加修改就可以解决问题,我将其发布在这里以供其他人使用。
if (have_posts() ) :
while (have_posts() ) : the_post();
$args=array(
'hide_empty' => '0',
'meta_key' => 'popular_services_category'
);
$categories=get_categories($args);
foreach($categories as $category)
{
echo '<li>' . $category->name . '</li>';
$image = get_field('category_icon', $category->taxonomy . '_' .
$category->term_id );
$image_bg = get_field('category_bg_image', $category->taxonomy . '_' . $category->term_id );
// Check if the image exists
if ( $image ) : ?>
<img src="<?php echo $image['url']; ?>" />
<img src="<?php echo $image_bg['url']; ?>" />
endif;
}
endwhile;
我使用 ACF 插件将字段组添加到默认的 WP 类别 Add/Edit 屏幕,以便我可以向类别添加其他值,例如类别 icon/background 图片、是否显示在主页上的复选框并将其指定为热门类别之一。
我正在尝试根据受欢迎程度复选框列出主页上的所有类别及其图标和背景图像。
我有两个图像字段,例如 category_icon 用于存储类别图标和 category_bg_image 用于存储类别背景图像。
下面是我能够列出类别的代码,但未显示图标和背景图像的自定义字段值。
if (have_posts() ) :
while (have_posts() ) : the_post();
$args=array(
'hide_empty' => '0',
'meta_key' => 'popular_services_category'
);
$categories=get_categories($args);
foreach($categories as $category) {
echo '<li>' . $category->name . '</li>';
global $post;
$terms = get_the_terms($post->ID, 'category');
if( !empty($terms) )
{
$term = array_pop($terms);
$custom_field = get_field('category_icon', 'category_' . $term->term_id );
echo '<li>' . $custom_field['url'] . '</li>';
}
}
endwhile;
我只需稍加修改就可以解决问题,我将其发布在这里以供其他人使用。
if (have_posts() ) :
while (have_posts() ) : the_post();
$args=array(
'hide_empty' => '0',
'meta_key' => 'popular_services_category'
);
$categories=get_categories($args);
foreach($categories as $category)
{
echo '<li>' . $category->name . '</li>';
$image = get_field('category_icon', $category->taxonomy . '_' .
$category->term_id );
$image_bg = get_field('category_bg_image', $category->taxonomy . '_' . $category->term_id );
// Check if the image exists
if ( $image ) : ?>
<img src="<?php echo $image['url']; ?>" />
<img src="<?php echo $image_bg['url']; ?>" />
endif;
}
endwhile;