WordPressの固定ページに指定したカテゴリーidの投稿リストを表示するショートコードです。
functions.phpへ以下のコードを追加して、ショートコードを定義します。
カテゴリー毎の投稿を一覧表示するショートコード
// 投稿を取得する // num_p:表示数 // id:カテゴリーID // [p_list id=2 num_p=3] function get_post_list($atts) { $a = shortcode_atts(array( 'num_p' => 20, 'id' => 1 ), $atts); $args = array( 'numberposts' => $a['num_p'], 'category' => $a['id'] ); $my_posts = get_posts($args); if (!empty($my_posts)) { $output = '<ul>'; foreach ($my_posts as $p) { $output .= '<li><a href="' . get_permalink($p->ID) . '">' . $p->post_title . '</a></li>'; } $output .= '<ul>'; } return $output ?? '<strong>条件に一致する投稿がありません</strong>'; } // ショートコード add_shortcode('p_list', 'get_post_list');
例) ショートコード使用1
[p_list id=8]
HTML編集で記載します。[get_p_list]でショートコードを指定し、引数として[id]の”8″を渡しています。カテゴリーIDが8の投稿リストを表示します。
例)ショートコード使用2
[p_list id=8 num_p=3]
上記は、カテゴリーidの”8″の投稿取得して、投稿3つを表示します。