将显示自定义帖子类型和自定义分类

时间:2015-06-23 作者:andyderuyter

我的WP中有以下CPT和分类法:

CPT: magazine

<分层:真存档:真Custom Taxonomy: authorname (杂志作者。与WP作者不同)

附于:CPT杂志Custom Taxonomy: magazinename (杂志名称)

附于:CPT杂志

URL structure:

  • hxxp://domain.zzz/magazine/author-name/magazine-name/magazine-page

How do I do the following:

<如果我去hxxp://domain.zzz/magazine/author-name/仅列出该作者的父页?(需要显示该页面的特色图片)

如果我去hxxp://domain.zzz/magazine/author-name/magazine-name/只显示第一个页面,以及其他页面的列表(导航)和属于这两个分类法的当前页面?

如果我去hxxp://domain.zzz/magazine/author-name/magazine-name/magazine-page/只有该页面显示了属于这两种分类法的其他页面的列表?

什么。我需要在主题文件夹中创建php文件吗?这些文件中的查询是什么样子的?

提前感谢您的回答。

韩国,

安迪

编辑:

我有以下代码single-magazine.php:

<?php get_header(); ?>

<?php

$query = new WP_Query( array( \'post_type\' => \'magazine\') );

while ( have_posts() ) : the_post(); ?>
<div class="entry magazine">
    <?php the_content(); ?>
</div>
<?php endwhile; // end of the loop. ?>

 <div class="navigation">
 <p>nav single-magazine.php</p>
 </div>

 <?php get_footer(); ?>

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

好吧,似乎使用不止一种分类法只是一厢情愿的想法。

我解决了这个问题:

CPT仍然是“杂志”

使用了分层分类术语:

家长:作者姓名儿童:每位作者将出版的杂志。

使用下面的代码,我成功地获得了一个有效的分类法authorname。php页面:

<?php
$taxonomies = array( 
    \'authormagazine\' // the custom tax
);

$args = array(
    \'orderby\'           => \'id\', 
    \'order\'             => \'ASC\',
    \'hide_empty\'        => true,
    \'fields\'            => \'all\', 
    \'slug\'              => \'andy\' // the slug of the author name parent term
); 

$terms = get_terms($taxonomies, $args);
$term_id = $terms[0]->term_id;


$taxonomy_name = \'authormagazine\';
$termchildren = get_term_children( $term_id, $taxonomy_name );

foreach ( array_reverse($termchildren) as $child ) {

    echo \'<div class="row">\';
    $term = get_term_by( \'id\', $child, $taxonomy_name );

    // Here we get the permalink of the first post from each magazine
    $args2 = array(
        \'post_type\' => \'magazine\',
        \'tax_query\' => array(
            array(
                \'taxonomy\' => \'authormagazine\',
                \'field\' => \'slug\',
                \'terms\' => $term->slug
            ),
        \'posts_per_page\' => 1
        ),
    );

    $query = new WP_Query($args2);
    $firstpost_link = $query->posts[0]->ID;

    echo \'<div class="col-md-6 mag-title">\';
    echo \'<h2><a href="\' . get_permalink( $firstpost_link ) . \'">\' . $term->name . \'</a></h2>\';
    echo \'</div>\';

    echo \'</div>\'; // end row
}


?>

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post