外贸建站资讯分享

WordPress如何在自定义taxonomy分类页面调用自定义图片字段

阅读数:1613 时间:07/07/2023 来源:全部动态 标签:

您所在的位置:

如果您想在 “taxonomy-knowledges.php” 模板文件中嵌入和显示自定义字段 “category”,可以按照以下步骤进行操作:

  1. 在 “taxonomy-knowledges.php” 文件中的合适位置添加以下代码:
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; ?>

  1. 以上代码首先获取当前分类术语的相关信息,就像之前提到的代码一样。
  2. 接下来,使用 get_field() 函数来获取自定义字段 “category” 的值。将第二个参数设置为 $taxonomy . '_' . $term_id,以将自定义字段与特定的分类术语关联起来。
  3. 最后,使用条件语句 if (!empty($image)) 来检查自定义字段的值是否为空。如果不为空,则使用 echo 输出图像的 <img> 标签,并将图像路径进行安全转义。

确保将以上代码放置在正确的位置,通常是在循环开始之前,以便为每个分类术语获取并显示自定义字段 “category” 的值。

请注意,这需要依赖于 Advanced Custom Fields(ACF)插件的支持,以确保正确地获取和显示自定义字段的值。


关闭

网站需求

    您的公司*

    您的姓名*

    您的手机*

    您的需求