【WordPress】投稿に記事一覧を表示する



群馬県高崎市在住「みんなのIT」管理者の加藤(@namibuta)です。

みんなのIT 河村友歌

 

WS000195

 

今回もWordPressのテクニックをご紹介します。

ビジネスサイトを構築すると、投稿に新着投稿の一覧を表示したいことがあります。

その時に使えるテクニックです。

 

PHPを直接実行出来ないか?

PHPを実行出来るWordPressプラグインもあります。

それを使うともう少し簡単にできるのですが、私は使用しません。

なぜかというと投稿に直接PHPコードを書く方法はセキュリティ的に問題があるからです。

 

また、トップページやサイドバーなどについてはテーマのphpコードを修正してコードを埋め込む方法があります。

 

 

ショートコード機能を使用する

WordPressでは使用しているテーマの「function.php」に関数を追加することで、

HTMLと同レベルで使用できる「ショートコード」という機能を使うことができます。

 

今回はこの「ショートコード」機能を使って一覧を表示します。

 

サンプルではTABLE形式で「掲載日」(幅20%)、「タイトル」(幅80%)を表示します。

タイトルは各記事にリンクするようにします。

上から記事の新しい順に表示します。

※HTMLは使うサイトに合わせてカスタマイズして下さい。

 

/*——————————————-*/
/*    New Post Display
/*——————————————-*/
function getCatItems($atts, $content = null) {
  extract(shortcode_atts(array(
    “num” => ’10’,
    “cat” => ”
  ), $atts));
  global $post;
  $oldpost = $post;
  $myposts = get_posts(‘numberposts=’.$num.’&order=DESC&orderby=post_date&category=’.$cat);
  $retHtml='<table><th width=”20%”>掲載日</th><th width=”80%”>タイトル</th>’;
  foreach($myposts as $post) :
    setup_postdata($post);
    $date = date(“Y年m月d日”,strtotime($post->post_date));
    $retHtml.='<tr><td width=”20%”>’.$date.'</td><td width=”80%”><a href=”‘.get_permalink().'”>’.the_title(“”,””,false).'</a></td></tr>’;

  endforeach;
  $retHtml.='</table>’;
  $post = $oldpost;
  return $retHtml;
}
add_shortcode(‘newlist’, ‘getCatItems’);

 

投稿記事にHTMLモードで下記の様に書けば、一覧が表示されます。

[newlist num=”表示したい行数” cat=”表示したいカテゴリーID”]

 

デフォルトだとカテゴリに関係なく10記事を表示します。

デフォルトで良ければ[newlist]と記述するだけでOKです。

 


 

「インターネットの賢い利用法」。個別セミナー・相談会を随時開催しています。

群馬県高崎市のアイネットビジネスサービスです。

あなたの会社のデータ活用を経験豊富なデータベースコンサルタントがアドバイス。
パソコン・スマホの操作方法からシステム構築・運用まで、お問い合わせ・ご相談はこちらからお気軽に!→お問い合わせ



Produced by namibuta.net.