我正在使用“高级自定义字段”将自定义分类法添加到“类别”页面(重命名为“作者”),并且尽管我可以公开非分类的自定义字段,但对于该分类可能具有的任何分类关系,即使是基本方式,也无法做到相同
我尝试使用该指南在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; ?>
答案 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
的第二个参数