阅读数:1613 时间:07/07/2023 来源:全部动态 标签:
如果您想在 “taxonomy-knowledges.php” 模板文件中嵌入和显示自定义字段 “category”,可以按照以下步骤进行操作:
1.第一种调用方式
<?php
// 获取当前分类术语的相关信息
$queried_object = get_queried_object();
$taxonomy = $queried_object->taxonomy;
$term_id = $queried_object->term_id;
// 获取自定义字段 "category" 的值
$image = get_field('category', $taxonomy . '_' . $term_id);
// 如果自定义字段不为空,则显示图片
if (!empty($image)) {
echo '<img src="' . esc_url($image) . '" />';
}
?>
2.第二种调用方式:需要先在模板顶部添加此代码,编辑分类术语上的所见即所得字段时,自动嵌入功能可能不起作用。这是由于 WordPress 核心中的代码将自动
嵌入功能仅限于帖子。 此问题会影响前端并阻止嵌入网址(youtube、vimeo 等)转换为可播放的嵌入对象。 作为前端的当前解决方法,请在模板顶部使用此代码
(最有可能是category.php 或类似的)。此代码将设置自定义 post_ID 并允许 WP 加载嵌入内容。
<?php
$queried_object = get_queried_object();
$taxonomy = $queried_object->taxonomy;
$term_id = $queried_object->term_id;
$GLOBALS['wp_embed']->post_ID = $taxonomy . '_' . $term_id;
?>
<?php
$image = get_field('category', $taxonomy . '_' . $term_id);
if( !empty( $image ) ): ?>
<img src="<?php echo esc_url($image['url']); ?>" alt="<?php echo single_cat_title("",false)?>" title="<?php echo single_cat_title("",false)?>" >
<?php endif; ?>
get_field() 函数来获取自定义字段 “category” 的值。将第二个参数设置为 $taxonomy . '_' . $term_id,以将自定义字段与特定的分类术语关联起来。if (!empty($image)) 来检查自定义字段的值是否为空。如果不为空,则使用 echo 输出图像的 <img> 标签,并将图像路径进行安全转义。确保将以上代码放置在正确的位置,通常是在循环开始之前,以便为每个分类术语获取并显示自定义字段 “category” 的值。
请注意,这需要依赖于 Advanced Custom Fields(ACF)插件的支持,以确保正确地获取和显示自定义字段的值。