2012年1月
データの移行に伴い、phpコードの文字化けが発生している箇所があります。
&lti や > のような文字化けが出ているコードはコピーしないでください。
現在、手直し中です。すみません。

サイドバーに新着記事を表示する

ここではサイドバーに新着記事のリストを表示する方法を紹介しています。

マニュアルでも、ウィジェットでも、どちらでもOK。

サムネイル付き、カテゴリー限定など、いろんな方法があります。

§ テンプレート・タグを使ったsidebar.phpのマニュアル編集

もっともポピュラーで分かりやすい方法は、テンプレート・タグ wp_get_arhives を使う方法。詳しくはCodex日本語版を参照。

最新の記事10本のタイトルを表示します。

 <?php wp_get_archives('type=postbypost&limit=10'); ?>

この方法だと、すべてのカテゴリーの新着記事がリストアップされます。カスタムポストは含まれません。

カスタムポストを含む場合は、お使いのテーマ・テンプレートのfunction.phpに次のコードを書き込みます。
「movie」「book」というカスタムポストをアーカイブに含める場合。

function add_custom_types_archive( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set( 'post_type', array(
 'post', 'movie', 'book'
            ));
      return $query;
    }
}
add_filter( 'pre_get_posts', 'add_custom_types_archive' );



より細かなカスタマイズが必要なら、query_postsが便利です。

参照ページ テンプレートタグquery posts

「カテゴリーID=3,6,9,10に属する新着記事10件をランダムに表示する」

<?php query_posts('cat=3,6,9,10&showposts=10&orderby=rand'); ?>
<ul>
  <?php while (have_posts()) : the_post(); ?>
  <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
  <?php endwhile;?>
</ul>

特定のカテゴリーを除外する場合は、cat=-3 のように、マイナスを書き込みます。

§ 新着記事のプラグイン

WordPress公式サイトで「recent posts」で検索すると、新着記事リストを表示する様々なプラグインが見つかります。

特におすすめがAdvanced Most Recent Posts Mod

サムネイル付き、抜粋、日付、カスタムポスト、カテゴリー除外など、ウィジェットで細かく設定することができます。
実際の動作はhttp://sanmarie.meを参照してください。

似たようなプラグインに、次のようなものがあります。
Special Recent Posts
YD Recent Posts Widget



複数の投稿タイプの新着記事をミックスして表示したい場合は、Recent Custom Postsがおすすめ。

複数の投稿タイプを指定して(Ctrlキーを押しながら選択)、好きな数だけリスト表示できます。



複数のドメインから新着記事を拾いたい場合は、ブログロールのRSSフィードを利用したBlogroll Widget with RSS Feedsがおすすめ。
フィードから記事タイトルや抜粋を取得しますが、表示が速いです。

まず表示したいサイトのURLのフィードを管理画面の「リンク」(ブログロール)に登録します。
カテゴリー別のフィードなどもOK。

次にウィジェットで表示したい項目を設定します。(記事ごとのサムネイルは表示しません)

§ ウィジェットのPHP実行

 

ウィジェットにPHPコードを書き込んで記事リストを表示する場合、そのままでは動作しないので、プラグインを利用すると使えるようになります。

WP PHP widget

管理画面で有効化するだけで、PHP、Text、HTML、JAvascript、Flash が使えるようになります。

似たようなプラグインにPHP Code Widgetがあります。

Ads

Leave a Reply

Trackback URL

QR Code Business Card