如何显示Wordpress类别页面的自定义分类法?

时间:2019-07-11 09:34:06

标签: wordpress wordpress-theming advanced-custom-fields custom-taxonomy custom-wordpress-pages

我正在使用“高级自定义字段”将自定义分类法添加到“类别”页面(重命名为“作者”),并且尽管我可以公开非分类的自定义字段,但对于该分类可能具有的任何分类关系,即使是基本方式,也无法做到相同

我尝试使用该指南在ACF网站上公开分类法,从而使foreach循环中的相关条目无效。

在帖子中,我使用了'the_terms'并通过引用帖子ID提取了各种自定义分类法,但我无法对其进行调整以在“类别”页面上使用。

这是我在帖子上使用的并且效果很好:

{
  "version": "2.0",
  "logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      // For all functions
      "Function": "Trace",
      // Default settings, e.g. for host
      "default": "Trace"
    }
  }
}

因为类别不是帖子'the_terms'在这种情况下不起作用。这是我在“类别”上用来基本显示其自定义分类法的方法:

<?php the_terms( $post->ID, 'century', '', ' , ' ); ?>

返回的唯一结果是:$ location和$ century。 Century不是分类关系,并且位置会返回ID-我所有的分类关系都返回ID,因为使用上述代码进行更改以显示Term Object会导致页面崩溃。这似乎是一个单独但可能相关的问题。

理想情况下,我想以以下格式循环上述分类法:

<?php 
$term = get_queried_object();

$locations = get_field('location', $term);
$century = get_field('century', $term);
$tradition = get_field('tradition', $term);
$characteristics = get_field('characteristics', $term);
$related = get_field('related', $term);

foreach($locations as $location){
echo $location;
} 
foreach($century as $centur){
echo $centur;
} 
foreach($tradition as $traditio){
echo $traditio;
} 
foreach($characteristics as $characteristic){
echo $characteristic;
}
foreach($related as $relate){
echo $relate;
}
?>  

问题是此代码当前未返回任何内容。

谢谢!

编辑:

这是var_dump($ category)的结果

<?php $category = get_queried_object(); $terms = get_field('location', $category); if( $terms ): ?> <ul> <?php foreach( $terms as $term ): ?> <h2><a href="<?php echo get_term_link( $term ); ?>"><?php echo $term->name; ?></a></h2> <?php endforeach; ?> </ul> <?php endif; ?>

1 个答案:

答案 0 :(得分:0)

尝试以下类似方法-您必须在get_field-https://www.advancedcustomfields.com/resources/get_field/的第二个参数中组合使用

    $queried_object = get_queried_object(); 
    $taxonomy = $queried_object->taxonomy;
    $term_id = $queried_object->term_id;  

    $image = get_field('field_5d04699ba10da', $taxonomy . '_' . $term_id);

我正在使用字段键而不是名称来获取图像字段,但是问题的重要部分是get_field的第二个参数