ミギムキ

[WordPress] 指定したタグの記事リンクを一覧表示したい

あるタグが設定された記事のリンクリスト

サンプルコード

functions.php

function disp_taglink_list($atts) { if(is_null($atts[0])) return; $html = ''; $args = array('tag' => $atts[0]); $the_query = new WP_Query($args); if($the_query->have_posts()) { $html .= '<ul>'; while($the_query->have_posts()) { $the_query->the_post(); $title = get_the_title(); $url = get_the_permalink(); $html .= '<li><a href="'. $url .'">'. $title .'</a></li>'; } $html .= '</ul>'; wp_reset_postdata(); } ob_start(); echo $html; $contents = ob_get_contents(); ob_end_clean(); return $contents; } add_shortcode('taglink', 'disp_taglink_list');
スポンサー広告
  • WP_Queryクラスのパラメーターとして「tag」にショートコードの引数を設定します
  • クエリのループで検索した記事のタイトルとリンクを取得し、リストタグとして出力します。リストタグは「ob_start」でバッファに出力させることで、ショートコードを埋め込んだ箇所にリストタグが展開されるようにします
  • 一連の処理が終わったあとは「wp_reset_postdata();」を実行してリセットを行います

ショートコードを呼び出す

[taglink icon-css]
  • ショートコードの引数に、タグのスラッグ名を指定します
スポンサー広告