从自定义帖子类型获取自定义分类

时间:2014-07-02 作者:imz

我有一个名为email\\u block的自定义帖子类型,还有一个名为block\\u type的自定义分类法。我需要遍历所有电子邮件块,找出它们的自定义分类法(block\\u类型)。我知道如何获取所有的电子邮件阻止自定义帖子类型,我正在努力寻找它们所属的block\\u类型。

这是我目前掌握的代码。我正在使用高级自定义字段中的关系字段来过滤我要显示的电子邮件块。

<?php

$posts = get_field(\'block_selector\');

if( $posts ): ?>
    <ul>
    <?php foreach( $posts as $post): // variable must be called $post (IMPORTANT) ?>
        <?php setup_postdata($post); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <span>Custom field from $post: <?php the_field(\'author\'); ?></span>
        </li>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly 
    endif; ?>

2 个回复
最合适的回答,由SO网友:deflime 整理而成

你是说get_the_terms()?

<?php 
    $terms = get_the_terms( $post->ID, \'block_type\' ); 
    foreach($terms as $term) {
      echo $term->name;
    }
?>
还是我简化了太多?

SO网友:Mohamed Slimane

这是最好的方法

<?php
            $taxonomy = \'movies-category\';
            $terms = get_object_term_cache( $post->ID, $taxonomy );
            $output = \'\';
            foreach($terms as $term) {
                if(!empty($output))
                    $output .= \' | \';
                    $output .= \'<span class="cat"><a href="\'. esc_url( get_term_link( $term )). \'">\'.$term->name.\'</a></span>\';
                }
            echo $output;
        ?>

结束

相关推荐

从自定义帖子类型获取自定义分类 - 小码农CODE - 行之有效找到问题解决它

从自定义帖子类型获取自定义分类

时间:2014-07-02 作者:imz

我有一个名为email\\u block的自定义帖子类型,还有一个名为block\\u type的自定义分类法。我需要遍历所有电子邮件块,找出它们的自定义分类法(block\\u类型)。我知道如何获取所有的电子邮件阻止自定义帖子类型,我正在努力寻找它们所属的block\\u类型。

这是我目前掌握的代码。我正在使用高级自定义字段中的关系字段来过滤我要显示的电子邮件块。

<?php

$posts = get_field(\'block_selector\');

if( $posts ): ?>
    <ul>
    <?php foreach( $posts as $post): // variable must be called $post (IMPORTANT) ?>
        <?php setup_postdata($post); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <span>Custom field from $post: <?php the_field(\'author\'); ?></span>
        </li>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly 
    endif; ?>

2 个回复
最合适的回答,由SO网友:deflime 整理而成

你是说get_the_terms()?

<?php 
    $terms = get_the_terms( $post->ID, \'block_type\' ); 
    foreach($terms as $term) {
      echo $term->name;
    }
?>
还是我简化了太多?

SO网友:Mohamed Slimane

这是最好的方法

<?php
            $taxonomy = \'movies-category\';
            $terms = get_object_term_cache( $post->ID, $taxonomy );
            $output = \'\';
            foreach($terms as $term) {
                if(!empty($output))
                    $output .= \' | \';
                    $output .= \'<span class="cat"><a href="\'. esc_url( get_term_link( $term )). \'">\'.$term->name.\'</a></span>\';
                }
            echo $output;
        ?>

相关推荐