自定义帖子未显示在标签页面上

时间:2018-06-25 作者:Dinesh

我正在尝试创建自定义帖子(&A);使用以下代码张贴标签

function cptportfolioPost_init() {
  register_post_type( \'portfolio\',
    array(
      \'labels\' => array(
        \'name\' => __( \'Portfolio\' ),
        \'singular_name\' => __( \'Portfolio\' )
      ),
      \'public\' => true,
      \'has_archive\' => true,
      \'menu_icon\' => \'dashicons-calendar-alt\',
      \'taxonomies\' => array(\'post_tag\'),
      \'supports\' => array(
            \'title\',
            \'editor\',
            \'excerpt\',
            \'revisions\',
            \'thumbnail\',
            \'author\',
            \'page-attributes\',
        )
    )
  );
}
add_action( \'init\', \'cptportfolioPost_init\' );
使用此代码在帖子页面上获取标签

<?php $tags = get_tags();
               $html = \'<div class="post-tags-wrap">\';
               foreach ( $tags as $tag ) {
                  $tag_link = get_tag_link( $tag->term_id );

                  $html .= "<a href=\'{$tag_link}\' title=\'{$tag->name} Tag\' class=\'{$tag->slug}\'>";
                  $html .= "{$tag->name}</a>";
               }
               $html .= \'</div>\';
               echo $html;?>
在dashboard中,我的自定义帖子有一个标签选项,在前台的帖子页面上也显示选定的标签,但当我单击标签链接时,标签页面不显示与该标签相关的自定义帖子,只显示与该标签相关的WordPress默认帖子,因此如何在标签页面上获取我的自定义帖子

2 个回复
SO网友:dhirenpatel22

WordPress标签仅在其页面上显示默认帖子。为了在标签页中显示自定义帖子类型,您必须在标签的默认查询中添加您的帖子类型。

在中添加以下代码functions.php 并在中添加自定义帖子类型$post_types 要在标记页上显示的数组。

function add_custom_types_to_tax( $query ) {
    if( is_tag() && empty( $query->query_vars[‘suppress_filters’] ) ) {

        // Get all Custom Post types
        //$post_types = get_post_types();

        // Get Specific Custom Post types
        $post_types = array( ‘post’, ‘your_custom_type’ );

        $query->set( ‘post_type’, $post_types );

        return $query;
    }
}
add_filter( ‘pre_get_posts’, ‘add_custom_types_to_tax’ );
希望这有帮助。。!!

SO网友:Dharmishtha Patel

在函数中。我添加的php:

function tag_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_tag) {
      $query->set(\'post_type\', array( \'custom_post_type\', ));
    }
  }
}
add_action(\'pre_get_posts\',\'tag_filter\');

结束

相关推荐

No duplicate tags by category

我有脚本显示类别中的列表标签,效果很好。<ul class=\"inline-list\"> <?php query_posts(\'category_name=lain-lain\'); if (have_posts()) : while (have_posts()) : the_post(); if( get_the_tag_