私は 'sector'というタクソノミを共有する 'project'と 'client'という2つのカスタムポストタイプを持っています。1つのカスタムポストタイプからwp_list_categoriesフィルタ
if (!is_taxonomy('sector')) {
register_taxonomy(
'sector', array('project', 'client'), array(
'hierarchical' => true,
'label' => 'Sector',
'query_var' => true,
'rewrite' => array('slug' => 'sector'),
'with_front' => false
));
wp_insert_term('Health', 'sector');
wp_insert_term('Clubs', 'sector');
wp_insert_term('Commercial', 'sector');
}
私が使用して私の分類のアーカイブへのリンクを一覧表示し、サイドバーのナビゲーションと分類アーカイブテンプレートを作成しました:
//list terms in a given taxonomy using wp_list_categories
$orderby = 'name';
$show_count = 1; // 1 for yes, 0 for no
$pad_counts = 0; // 1 for yes, 0 for no
$hierarchical = 0; // 1 for yes, 0 for no
$show_option_none='';
$title = '';
$args_sector = array(
'taxonomy' => 'sector',
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title
);
<ul id="sideNav" class="rightSubMenu">
<h3 class="rightSubNav">SECTOR</h3>
<ul id="sideNav" class="rightSubMenu">
<?php wp_list_categories($args_sector); ?>
</ul>
</ul>
私は「クラブ」にリンクされているプロジェクトがある場合は、問題があると「クラブ」にリンクされたクライアントは出力数を示します2.また、アーカイブページには2つの投稿が表示されます.1つはプロジェクト用、もう1つはクライアント用です。しかし、プロジェクトは1つだけです。
私は主にプロジェクトページに関係しており、私の 'プロジェクト'投稿タイプで結果をフィルタリングしたいと考えています。私はコーデックスを見て、wp_list_categories関数はこれを行うためのパラメータを受け入れていないようです。
誰でも手助けできますか?これを行うより良い方法はありますか?
'wp_list_categories()'のカスタムバージョンを作成せずにこの方法を実装できます。よりクリーンなアプローチで同じコードを使用するには、[''get_terms''フィルタ]にフックします(http://adambrown.info/p/wp_hooks/hook/get_terms?version=3.6&file=wp-includes/taxonomy.php )、ターゲットタクソノミーを確認し、ダッシュボードにはないこと、そしてメインクエリが実行されていることを確認します。次にカウントを変更します。 –