从自定义帖子类型的多个分类中获取特定帖子的术语

时间:2013-12-03 作者:Jamil Ahmed

我已经创建了Custom post type \'references\' 下面有两个分类法

e、 g级

“”Custom Taxonomy A“具有类别”Cat-a1“,”Cat-a2“。。。。

“”Custom Taxonomy B“具有类别”Cat-b1“,”Cat-b2“。。。。

每个帖子或引用都分配了分类法A中的一个类别和分类法B中的一个类别。我有一个模板,用于在循环中显示上述自定义帖子类型中相对于自定义分类法A的帖子。G

标题“Cat-a1”

分配给此类别的所有职位

标题“Cat-a2”

分配给此类别的所有职位

我尝试的是从自定义分类法B中指定一个相关的类别名称作为每个标题的id

e、 g级

<div id="Catb1" ><h1>"Cata1"</h1>
ALL posts assigned to this category </div>

<div id="Catb2" ><h1>"Cata2"</h1>
ALL posts assigned to this category </div>

<div id="Catb3" ><h1>"Cata3"</h1>
ALL posts assigned to this category </div>
这是我的模板

<?php
    $args=array(
    \'post_type\'                => \'references\',
    \'child_of\'                 => 0,
    \'parent\'                   => \'\',
    \'orderby\'                  => \'name\',
    \'order\'                    => \'ASC\',
    \'hide_empty\'               => 1,
    \'hierarchical\'             => 1,
    \'exclude\'                  => \'\',
    \'include\'                  => \'\',
    \'number\'                   => \'\',
    \'taxonomy\'                 => \'references-company\',
    \'pad_counts\'               => false
    );

    $categories=get_categories($args);

    foreach ( $categories as $category ) {

        if ( $category->parent > 0 ) {
            continue;
        }

        $querystr = "SELECT $wpdb->posts.*
            FROM $wpdb->posts, $wpdb->term_relationships, $wpdb->terms
            WHERE term_id = (" . $category->cat_ID . ")
            AND term_taxonomy_id = (" . $category->term_taxonomy_id . ")
            AND ID = object_id
            AND post_type = \'references\'
            AND post_status = \'publish\'
            ORDER BY post_date ASC";
        $posts = $wpdb->get_results($querystr, OBJECT);

        echo \'<div class="content_item" id="\';
                $term_list = wp_get_post_terms($post->ID, \'references-industry\', array("fields" => "names"));
                echo $term_list[0];
                echo \'"><div class="border-r"><div class="quotesimg"><h1 class="termtitle headingopen" style="cursor: pointer;">\' . $category->name . \'(\' . $category->category_count . \')</h1></div></div>\';

        echo \'<div class="references-inner textContent expander">\';
        foreach ( $posts as $post ) {
        setup_postdata($post);
            echo \'<div class="floatleft twocol-one">\';
                the_content();
                the_excerpt();
                echo \'<div class="social-linkedin">\';
                    $values = get_post_custom_values("linkedin");
                    if ( is_array($values) ) {
                        echo \'<a target="_blank" href="\';
                        echo the_field( "linkedin" );
                        echo \'"><img src="\';
                        echo get_template_directory_uri();
                        echo \'/images/ico_social_4.jpg" /></a>\';
                    } else {
                        echo \'&nbsp;\';
                    }
                echo \'</div>\';
            echo \'</div>\';
            echo \'<div class="thumbnail-r fourcol-one last">\';
                the_post_thumbnail(\'full\');
            echo \'</div>\';
        }
        echo \'</div>\';
        echo \'<div class="moreopen"><p class="more">Mere</p></div>\';
        echo \'</div>\';
    }
?>
如何从自定义分类法B中获取特定于post的术语/类别名称,以将它们用作div中的ID。我在上面的模板中进行了尝试,但似乎没有正确获取它们。

我用它来从分类法B中获得分配给post的术语名称

echo \'<div class="content_item" id="\'; $term_list = wp_get_post_terms($post->ID,     \'references-industry\', array("fields" => "names")); echo $term_list[0]; echo \'">
谢谢

1 个回复
SO网友:Nicolai Grossherr

你有点不知道问题是什么,比如调试,错误信息。很可能是你写的方式有问题,我现在不想讨论这个问题。但是一般来说,为了更好的结构,你应该把分类名称作为div的id,让它更干净、更独立。下面是一个简单的例子,我将如何做到这一点:

$term_obj = wp_get_post_terms(get_the_ID(), \'example-taxonomy\', array("fields" => "names"));
echo \'<div class"example" id="\'.$term_obj[0].\'">EXAMPLE</div>\';

结束

相关推荐

List of Posts and Categories

我有一个自定义的物种分类法和一个自定义的动物post类型。我想在树状视图中显示它们,如下所示:所有动物Fish (taxonomy term)<鲨鱼(自定义贴子类型)太阳鱼Mammals<猴子斑马列表中的每个项目都将链接到各自的位置。因此,自定义帖子类型链接到动物,分类术语转到分类页面。我知道WordPress列出类别的方法,但我也希望将帖子分组到每个类别下(自定义分类法)。