カスタム投稿のサブカテゴリリンクを詳細表示オプションとしてエコーしようとしています。先週は、これをやろうとしていますが、正しい方法を見つけることができません。私は試してみました、カテゴリリンク、用語、引数、idを使って。現在表示する唯一の方法はidを使用することですが、ここで私は私が欲しいオプションではない番号を追加する必要があります。だから私はあなたにもっと情報を与えましょう。
最初にカスタム投稿を作成しました(必要ではないため、ここでいくつかのオプションを削除しました。短くするため)。
$args = array(
'taxonomies' => array( 'category', 'post_tag', 'fixture' ),
'public' => true,
'show_in_menu' => true,
'publicly_queryable' => true,
'has_archive' => true,
'query_var' => true,
'rewrite' => true,
'query_var' => true,
'capability_type' => 'post'
);
register_taxonomy(
'fixs_cat',
'match',
array(
'label' => __( 'Fixture Categories', 'ko-text' ),
'rewrite' => array( 'slug' => 'fixture' ),
'hierarchical' => true,
'query_var' => true
)
);
register_post_type( 'match', $args );
}
それから私はそれらを表示するウィジェットを作成しました。これはタブ付きのウィジェットなので、すべてが同じで番号が1から10に変わるだけなので、すべてのタブオプションを追加しないでください。
public function widget( $args, $instance )
/* Widget variables. */
$fix_name1 = $instance['fix_name1'];
$fix_cat1 = $instance['fix_cat1'];
$fix_num1 = $instance['fix_num1'];
$fix_name2 = $instance['fix_name2'];
$fix_cat2 = $instance['fix_cat2'];
$fix_num2 = $instance['fix_num2'];
public function form( $instance ) {
TODO: Define default values for your variables
$defaults = array(
'sort' => 'latest',
'$fix_name1' => 10,
'$fix_name2' => 10,
);
$instance = wp_parse_args(
(array) $instance
);
それから私はウィジェット設定で私が選択したので、ユーザーはタイトル、カテゴリー、そして選択したカスタム投稿カテゴリーからいくつの投稿を見せたいか選択することができます。ここでそれを壊すことなく、ここに投稿することはできません http://Pastebin.com/hjpdrdnA
そして最後のものはそれらの投稿をウィジェットに表示する実際のループです
if($fix_name1) { ?>
'match',
'posts_per_page' => $fix_num1,
'tax_query' => array(
array( 'taxonomy' => 'fixs_cat',
'field' => 'slug',
'terms' => $fix_cat1 ))
)); while($recent->have_posts()) : $recent->the_post();?>
//Stuff to display
} ?>
例として、用語linkを持つこのコードはすべてのカテゴリをリストしますが、tab1の下で選択されていてここでは$ fix_name1であるものだけが欲しいのです。
http://codex.wordpress.org/Function_Reference/get_term_link - ここでは用語についてget_terms( 'fixs_cat')のような一般的なカテゴリを追加しました。
//このような短いエコー$ fix_cat1;必要なカテゴリが表示されますが、メインのカスタム投稿カテゴリがリンクに表示されていないため、フィクスチャ/カテゴリを選択する必要があります。
//これは同じコード例から同じことをします
$fixs = get_terms('fixs_cat');
foreach($fixs as $fix) { ?>
if ($fix->slug == $fix_cat1)
どのようにこれを解決するのですか?
これは私ができる最善です。それは欲しいものを与えるが、私が言ったようにそれは代わりに「フィクスチャ」であるべきであるURLのカテゴリーを表示する。それでも、うまくいきます。 term_id; // category $ category_link = get_category_link($ catID); ?> "title ="カテゴリ名 ">もっと見る