阅读数: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)插件的支持,以确保正确地获取和显示自定义字段的值。