任意のカテゴリーの子カテゴリーをウィジェットに表示する。【WordPress備忘録】

カテゴリーの中の子カテゴリーを取得して子カテゴリー一覧をウィジェットに表示する方法。

忘れそうなので備忘録として。

準備するプラグイン

並び替えするプラグイン Category Order and Taxonomy Terms Order

※任意に並び替えしたい場合のみ。もし名前や記事数で並び替え程度なら必要なし。

投稿→Taxonomy Order というメニューが出来るので、そこでドラッグ&ドロップで並び替えする。

function.phpに関数追加

テーマ(子テーマがあれば子テーマ)のfunction.phpに以下を追加する。

add_filter('widget_text', 'do_shortcode' );

//子カテゴリを表示する
function SetPaperLabelcategory ($atts){

		extract(shortcode_atts(array(
				'postid' => '',
				'title' => '',
		), $atts));

//子カテゴリのタームを取得
$children = get_terms('category', array(
    'orderby'    => 'term_order',
    'hide_empty' => 0,
    'child_of' => $postid,
 ) );

$output = "<h3 class='widget_title sidebar_widget_title'>" . $title . "</h3><ul>";

foreach ( $children as $child ) {
	$term = get_term_by( 'id', $child->term_id, 'category' );
	$output .= '<li><a href="' . get_term_link( $child, 'category' ) . '" title="' . $taxonomy_name . '" ' . '>' . $term->name . '(' .$term->count . ')' .'</a></li>';
}

$output .= "</ul>";

return $output;

}

add_shortcode('PaperLabelcategory', 'SetPaperLabelcategory');

add_filterは、ウィジェットにショートコードを読み込めるようにするコード。ショートコードがウィジェットで動く場合は不要。

orderby の指定は、term_orderとしているのは、プラグインの指定。

ここに書いてあるとおりにしただけ。通常は、name や count などを指定する。

ウィジェットにショートコードを挿入

[PaperLabelcategory title=’タイトルで探す’ postid=’000′]

[PaperLabelcategory title=’価格で探す’ postid=’000′]

postidは、カテゴリー画面のURLで親カテゴリーのIDを調べる。

以上。

こうすると、子カテゴリーに追加したときでもカテゴリーにわざわざ追加することもない。

がんちゃんのおすすめアフィリエイト塾

アフィリエイトを1年やってきて感じることは、先生や師匠がいる環境が大事ってこと。
アフィリエイトのノウハウも大事だけど、心の支えになってくれる友人たち、先生、師匠の存在はとても大切です。

僕の場合、友人にアフィリエイト塾AMCを紹介してもらい今は無料会員として、たまに各地セミナーに遊びにいって交流しています。

トレーニングジムと同じでジムに1人で行く人は意外と続かない。しかし仲間と行くと継続率が高くなります。アフィリエイトも仲間が増えるとアフィリエイトを辞めてしまうことはほぼなくなるでしょう。

続ければ必ず成果が出るアフィリ。僕のおすすめアフィリエイト塾は、AMCです。
もしAMCに申し込みされた方がいらっしゃったら、AMCのSNSで「がんちゃん」で日記書いていますのでご一報ください。
色んなご相談にお答えいたします。

→ アフィリエイト塾AMC申込み

シェアしてくれるとチョーうれしいです!

フォローする