按自定义投递类型排序(多循环)

时间:2014-06-28 作者:user47340

我已经稍微改变了设置,有两种不同的帖子类型“Premium Listing”和“Free Listing”,以及一种Listing\\u类别的分类法。

这是我的循环示例。我的想法是在分类法的归档页面上显示高级列表,然后显示免费列表。

然而,当我将其添加到我的taxonomy\\u listing\\u类别时,这似乎是可行的。php我得到的结果并不特定于我的分类法。

比如说http://www.domain.com/listing_category/carriers/ 应显示1个Premium,然后显示分类法载体的免费列表,但它显示所有分类法。

代码如下

<?php   $args = array(
    \'post_type\' => \'premium_listing\',
    \'orderby\' => \'rand\',
    );
    $the_query = new WP_Query( $args );
?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) :     $the_query->the_post(); ?>
<?php the_title(); ?>
<?php endwhile; else: ?>
<?php get_template_part( \'inc/posts/post-404\' );?>
<?php endif; ?>

<?php rewind_posts(); ?>

<?php   $args = array(
    \'post_type\' => \'free_listings\',
        \'post_per_page\' => 1,
    \'orderby\' => \'rand\',
    );
    $the_query = new WP_Query( $args );?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) :     $the_query->the_post(); ?>
<?php the_title() ;?>
<?php endwhile; else: ?>
<p>Sorry, there are no posts to display</p>
<?php endif; ?>
我的主题没有存档。所以我使用了索引。php作为创建taxonomy\\u listing\\u类别的基础。php

有什么想法吗,理查德。

理查德

1 个回复
SO网友:keesiemeijer

您是否发布了分类法模板的正确名称?我认为应该是“taxonomy-listing\\u category”。php。看见Custom_Taxonomies_display

还是以其他方式将其包括在内?

对于新的WP\\U查询,您没有使用默认查询,该查询包含分类法和术语的查询变量。但是,您可以将分类法及其术语添加回查询中,使其仅返回具有分类法中的术语的帖子。

请参见tax_query parameter

<?php
$current_term = get_query_var( \'term\' );
$args = array(
    \'post_type\' => \'premium_listing\',
    \'orderby\'   => \'rand\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'listing_category\',
            \'field\'    => \'slug\',
            \'terms\'    => $current_term ,
        )
    )
);
$the_query = new WP_Query( $args );
?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) :     $the_query->the_post(); ?>
<?php the_title(); ?>
<?php
endwhile;
wp_reset_postdata();
else: ?>
<?php get_template_part( \'inc/posts/post-404\' );?>
<?php endif; ?>

<?php   $args = array(
    \'post_type\'     => \'free_listings\',
    \'post_per_page\' => 1,
    \'orderby\'       => \'rand\',
    \'tax_query\'     => array(
        array(
            \'taxonomy\' => \'listing_category\',
            \'field\'    => \'slug\',
            \'terms\'    => $current_term ,
        )
    )
);
$the_query = new WP_Query( $args );?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) :     $the_query->the_post(); ?>
<?php the_title() ;?>
<?php
endwhile;
wp_reset_postdata();
else: ?>
<p>Sorry, there are no posts to display</p>
<?php endif; ?>

结束

相关推荐

分类自定义列-‘Manage_{Taxonomy}_Custom_Column’筛选器仅传递2个参数

我正在尝试向标记上显示的表中添加自定义列(&a);Wordpress中的类别管理页面。我创建了一个函数,并使用add_filter( \'manage_post_tag_custom_column\' , \'my_custom_column\' , 10 , 2 ); 我的职能是my_custom_column( $out , $name , $term_id ){ switch( $name ){ case \'my_column_slug\' :