joppot

コピペで絶対動く。説明を妥協しない

プログラミング

wordpressのwp_queryでpost投稿の記事一覧を取得する

投稿日:


wp_query_post_index_thumb

概要

みなさんこんにちはcandleです。
最近はwordpressの開発を行っており、そこで、試行錯誤したwp_queryを使った記事一覧の取得の仕方を紹介します。wordpressは少し前まで、query_postsで記事を取得して、ループを回し、記事を表示していましたが、非推奨になりました。おそらく、パフォーマンスの問題でしょう。

新しくできたのが、wp_queryでしょう。これを使って記事一覧を表示します。

前提

wordpressが動く
適当なテンプレートがある。


wp_queryで記事一覧を表示する

任意のphpファイルに以下を記述すれば、投稿の一覧を取得できます。

<?php
  $args = array(
    'post_type' => 'post',
    'posts_per_page' => 10
  );
  $st_query = new WP_Query( $args );
?>
<?php if ( $st_query->have_posts() ): ?>
  <?php while ( $st_query->have_posts() ) : $st_query->the_post(); ?>
    <?php the_time( 'Y年m月d日' ); ?><br />
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br />
  <?php endwhile; ?>
<?php else: ?>
  <p>新しい記事はありません</p>
<?php endif; ?>

$argsで必要なパラメータを定義します。
WP_Queryのインスタンスを作って、それで投稿を確認し、ループを回しています。

post_typeは取得する投稿の種類を指定します。
記事の場合は「post」になります。

posts_per_pageは取得する投稿の数です。
サンプルでは10記事で指定してます。

wordpressqp_querypost_index
固定ページ一覧が欲しい場合はpost_typeをpageにすればおkです。

wp_queryの他のオプションは下のサイトに詳しく載っています。
http://notnil-creative.com/blog/archives/1288

まとめ

記事の取得はwordpressの基本なので、ここをマスターしましょう。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-,

執筆者:


comment

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

関連記事

ruby on rails のckeditor gemの機能ボタンをカスタマイズする

概要 みなさんこんにちはcandleです。今回はruby on rails のckeditor gemのショートカットボタンをカスタマイズして自分が必要な機能のみを表示してみましょう。 前提 cked …

Rubyで文字列に含んで欲しくないキーワードがある場合はマッチさせない正規表現

概要 みなさんこんにちはcandleです。今回はRuby主にruby on railsで文字列に含まれて欲しくないキーワードがマッチした場合は通らない正規表現を作りたいと思います。 これは例えばこのよ …

macにmiddlemanの環境構築をする

概要 みなさんこんにちはcandleです。今回はmacにmiddlemanの環境構築をしてみたいと思います。 middlemanといえばwebサイト作成支援ツールみたいなものです。 githubやhe …

railsのsimple-captcha gemを使用してform_forを使ったフォームを画像認証する

概要 みなさんこんにちはcandleです。公に開かれたフォームはスパムや総当り攻撃を受けやすいです。 そこで、画像認証を導入して、悪意のあるフォームを拒否してみましょう。 simple-captcha …

gitpythonでfirst commitする

概要 みなさんこんにちはcandleです。今回はgitpythonで、初めてのコミットをする方法を紹介します。 gitpythonでコミットは難しくないのですが、初めてのコミットは要領が違ったので、ま …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー