WordPressで全記事データにアクセスをして何かをする方法


WordPressで入れた全記事のデータから何かをしたい場合もあると思います。
どのような場面かと言いますと、全記事データの特定のカスタムフィールドに値の入っているものだけ抽出するとか、一旦全記事データにアクセスしておきつつ最新n件を出したり、特定のカテゴリ一覧を出したりする場合です。

例えば、以下のようにWordPressテーマ内に書くと、全記事データの記事タイトルとリンクを取得することができます。
(記事数が多い人は、その数だけ一覧が出てしまいますので、そういうサイトで試す場合には注意してください。)

<?php
$lastposts = get_posts();
foreach($lastposts as $post) :
setup_postdata($post);
?>
<p><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a></p>
<?php endforeach; ?>

こんな全ての記事一覧を表示させることは想定できない、と思われる方もいるかもしれませんが、
$lastposts = get_posts();

get_posts関数にパラメーターを付けて、
$lastposts = get_posts(‘posts_per_page=3’);
とすれば、最新3記事だけ表示されますし、
$lastposts = get_posts(‘$category=3’);
とすれば、カテゴリーIDが3の記事一覧が表示されます。

最近自分が使った例としては、

<?php
$lastposts = get_posts();
foreach($lastposts as $post) :
setup_postdata($post);
?>
<p><a href="http://twitter.com/#!/<?php echo get_post_meta($post->ID,'twitterid',true); ?>">@<?php echo get_post_meta($post->ID,'twitterid',true); ?></a></p>
<?php endforeach; ?>

などとして、そのサイトに登録しているTwitterID一覧だけを、固定ページに表示させた、という使い方をしました。

全記事データにアクセスをするので、記事数が多い時は重くなるという意見もあるようですが、キャッシュなどと並行して使うようにすれば問題ないと思いますし、意外に便利な使い方もあると思いますので、知らないよりは知っていた方が選択肢が増えるかと思います。

get_posts関数のパラメーターは、以下のWordPressCodex日本語版のURLに載っています。
テンプレートタグ/get posts – WordPress Codex 日本語版

カテゴリー: WordPress Codex 日本語版, WordPressのカスタマイズ   パーマリンク

WordPressで全記事データにアクセスをして何かをする方法 への11件のコメント

  1. khoshino より:

    もう1つブログ記事を書きました。 RT WordPressで全記事データにアクセスをして何かをする方法 http://t.co/ZMPG5YtA

  2. infoeproduction より:

    もう1つブログ記事を書きました。 RT WordPressで全記事データにアクセスをして何かをする方法 http://t.co/ZMPG5YtA

  3. winvalley より:

    RT @khoshino: もう1つブログ記事を書きました。 RT WordPressで全記事データにアクセスをして何かをする方法 http://wp3.jp/2012

  4. ueno_lab2 より:

    WordPressで全記事データにアクセスをして何かをする方法: WordPressで入れた全記事のデータから何かをしたい場合もあると思います。 どのような場面かと言いますと、全記事データの特定のカスタムフィールドに値の入っ… http://t.co/7jT32hgL

  5. happycrew より:

    記事データ取得などいろいろ

  6. artemisaqua より:

    WordPressで全記事データにアクセスをして何かをする方法 http://t.co/bQrc8qXz @khoshinoさんから

  7. infoeproduction より:

    WordPressで全記事データにアクセスをして何かをする方法 http://t.co/bQrc8qXz @khoshinoさんから

  8. tyataro より:

    WordPressで全記事データにアクセスをして何かをする方法 http://t.co/bQrc8qXz @khoshinoさんから

  9. s56bouya より:

    まさに僕がやりたかったことそのままだったんで(全記事の特定のカスタムフィールドの値取得)とても勉強になった~!/ WordPressで全記事データにアクセスをして何かをする方法 http://t.co/QhQxE3x8 @khoshinoさんから

  10. tsubasatwi より:

    まさに僕がやりたかったことそのままだったんで(全記事の特定のカスタムフィールドの値取得)とても勉強になった~!/ WordPressで全記事データにアクセスをして何かをする方法 http://t.co/QhQxE3x8 @khoshinoさんから

  11. infoeproduction より:

    まさに僕がやりたかったことそのままだったんで(全記事の特定のカスタムフィールドの値取得)とても勉強になった~!/ WordPressで全記事データにアクセスをして何かをする方法 http://t.co/QhQxE3x8 @khoshinoさんから

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA