这似乎很简单,但是即使多次浏览了文档(以及本站点中的许多问题),我也无法使它正常工作。
我有一个名为comic
的自定义帖子类型,其中一个分类字段(类型单选按钮)名为book
。 book
分类法有一个名为book_title
的文本字段。我正在尝试在book_title
中显示single-comic.php
的值。
这是我到目前为止所做的:
<?php
$term = get_field('book');
if( $term ): ?>
<h1><?php echo $term->book_title; ?></h1>
<?php endif; ?>
这将导致一个空的h1
元素,表明$term
返回true
。另外,回显$term
会返回9
,我相信这是与book
分类法关联的字段数(默认和自定义)。这意味着我得到了正确的对象。我只是无法使用它来显示其字段的值。
答案 0 :(得分:1)
您将获得多维格式的数组,因此无法像实现一样直接获取。要获取各个字段,您需要循环$ terms数组。请尝试以下片段。希望它能起作用。
<?php
$terms = get_the_terms(get_the_ID(), 'book');
if( $terms ): ?>
<?php foreach( $terms as $term ): ?>
<h1><?php echo $term->book_title; ?></h1>
<?php endforeach; ?>
<?php endif; ?>
答案 1 :(得分:0)
因此它应该看起来像这样。这是您必须根据情况更改的逻辑
<?php
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
if ($term->parent == 0) {
$terms = get_terms( 'product-type', 'parent='.$term->term_id ); }
else { $terms = get_terms( 'product-type', 'parent='.$term->parent ); }
foreach($terms as $term) {
echo '<div class="snack_type"><a href="' . get_term_link( $term ) . '">' . $term->name . '</a></div>';
echo '<img src="' . get_field('product_type_img', $term->taxonomy . '_' . $term->term_id) . '"/>';
}
?>