首页和归档列表中的任何类型的自定义帖子类型

时间:2013-12-08 作者:lospicos

我有一个自定义帖子类型:Products要从我的自定义帖子类型获得我的帖子,我已经更改了这些代码

<?php
    $post_count = 1;
?>
<?php if (have_posts()) : while ( have_posts() ) : the_post() ?>

?php
    $post_count = 1;        $args = array(          \'post_type\' => \'products\'       );      $products = new WP_Query( $args );
?>
<?php if ($products->have_posts()) : while ( $products->have_posts() ) : $products->the_post() ?>
我也为档案馆做了同样的事情。php也是。但是

现在我想做的是,我习惯于在我的头版上获得不同类型的帖子。没有。当我选择一个类别来获取帖子时,我想从不同的帖子类型中获取。档案中没有任何此部分。phpHow我们可以做到。

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

function namespace_add_custom_types( $query ) {
  if( is_category() || is_tag() && empty( $query->query_vars[\'suppress_filters\'] ) ) {
    $query->set( \'post_type\', array(
     \'post\', \'post_type1\', \'post_type2\'
        ));
      return $query;
    }
}
add_filter( \'pre_get_posts\', \'namespace_add_custom_types\' );
这真的很有效。

SO网友:Ravinder Kumar

你可以试试wordpress查询,比如

$args = array(
 \'post_type\' => \'any\'
);
$query =WP_Query($args);

if( $query->have_posts() ){
  while($query->have_posts()){
    the_post();
    $hide_post_type = array(
      \'attachment\'
    );    

    // hide post type which you do not want to show
    if( in_array( get_post_type(),$hide_post_type))
      continue;

    //show your post of any type
  }
}

SO网友:lospicos

我通过将这些代码添加到FUNCTIONS中解决了这个问题。php

function namespace_add_custom_types( $query ) {
  if( is_category() || is_tag() && empty( $query->query_vars[\'suppress_filters\'] ) ) {
    $query->set( \'post_type\', array(
     \'post\', \'your_post_type\'
        ));
      return $query;
    }
}
add_filter( \'pre_get_posts\', \'namespace_add_custom_types\' );

结束

相关推荐

Placement of categories

我已经在我的域名上安装了zAlive主题,它在幻灯片的顶部有四个选项卡。我想把这些标签放在幻灯片栏中,链接到我的不同类别,但我不知道怎么做。我的希望是,当您从幻灯片栏中选择不同的选项卡时,每个类别中相应的帖子都会显示在下面。在此方面的任何帮助都将不胜感激。