web-dev-qa-db-ja.com

カスタム投稿のタイプ分類法 "tag"アーカイブ:投稿が見つかりません

これらのオブジェクトにタグを付けることができるように、カスタム投稿タイプ "object"を登録し、分類法 "post_tag"を登録しました。

register_taxonomy_for_object_type('post_tag', 'object');

私がdomain.com/tag/{object-slug}を訪問したとき、投稿はありませんが、あります。

これが私のCPTが宣言された方法です:

register_post_type( 'objet', 
        array('labels' => array(/* removed for clarity */),
            'description' => __( 'blabla' ), 
            'public' => true,
            'publicly_queryable' => true,
            'exclude_from_search' => false,
            'show_ui' => true,
            'query_var' => true,
            'menu_position' => 3, 
            'menu_icon' => get_stylesheet_directory_uri() . '/library/images/custom-post-icon.png', 
            'rewrite'   => array( 'slug' => 'stock', 'with_front' => false ), 
            'has_archive' => 'stock',
            'capability_type' => 'post',
            'taxonomies' => array('post_tag'),
            'hierarchical' => false,
            'supports' => array( 'title', 'editor', 'thumbnail', 'revisions', 'sticky')
        ) 
    );
3
pixeline

タグとカテゴリのアーカイブクエリでは、デフォルトでpost投稿タイプのみをクエリします。これらのクエリにカスタム投稿タイプを追加するには、 pre_get_posts アクションを使用します。

function wpa_cpt_tags( $query ) {
    if ( $query->is_tag() && $query->is_main_query() ) {
        $query->set( 'post_type', array( 'post', 'object' ) );
    }
}
add_action( 'pre_get_posts', 'wpa_cpt_tags' );
12
Milo