如何在帖子页中显示分类的自定义字段值?

时间:2019-05-28 06:04:44

标签: wordpress advanced-custom-fields custom-post-type custom-taxonomy

这似乎很简单,但是即使多次浏览了文档(以及本站点中的许多问题),我也无法使它正常工作。

我有一个名为comic的自定义帖子类型,其中一个分类字段(类型单选按钮)名为bookbook分类法有一个名为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分类法关联的字段数(默认和自定义)。这意味着我得到了正确的对象。我只是无法使用它来显示其字段的值。

2 个答案:

答案 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) . '"/>';
}
?>