【WordPress】get_posts関数を使って記事下に最新記事のリンクを作成する

公開日:
更新日:
カテゴリー: WordPress

WordPressの関数であるget_postsに関するメモです。

get_posts関数について

get_posts関数は、指定された条件に合致する記事情報を取得する関数です(配列で取得)。

get_posts(引数);

引数に各種パラメータを指定してあげれば、そのパラメータに合致する投稿情報を取得できます。

サンプル

サンプルとして、カテゴリーIDが「2」と「28」ではない(2と28のカテゴリーに属していない)最新の記事2件の投稿情報を取得してみます。

<?php
//最新の記事2つの投稿情報を配列で取得(カテゴリーIDが「2」と「28」の記事は除く)
$posts_info = get_posts( 'numberposts=2&category=-2,-28' );
//配列の情報を出力
print_r($posts_info);
?>


 

これを実行すると、以下の投稿情報を取得できます。

Array
(
[0] => WP_Post Object
(
[ID] => 記事ID
[post_author] => 投稿者ID
[post_date] => 投稿日時
[post_date_gmt] => 投稿日時
[post_content] => 投稿内容
[post_title] => 記事タイトル
[post_excerpt] => 記事の概要(概要を設定していない場合は空)
[post_status] => 投稿状態
[comment_status] => コメントステータス
[ping_status] => ピングステータス
[post_password] => 記事パスワード
[post_name] => 記事の名前(URL形式)
[to_ping] => ?
[pinged] => ?
[post_modified] => 記事の修正日時
[post_modified_gmt] => 記事の修正日時
[post_content_filtered] => ?
[post_parent] => 親記事のID
[guid] => 記事のガイドURL
[menu_order] => ?
[post_type] => 投稿タイプ
[post_mime_type] => ?
[comment_count] => コメントの数
[filter] => ?
)

[1] => WP_Post Object
(
[ID] => 3425
[post_author] => 1
[post_date] => 2013-12-16 09:10:46
[post_date_gmt] => 2013-12-16 00:10:46
[post_content] => これはテストです。
[post_title] => テスト投稿
[post_excerpt] =>
[post_status] => publish
[comment_status] => open
[ping_status] => closed
[post_password] =>
[post_name] => %E3%83%86%E3%82%B9%E3%83%88%E6%8A%95%E7%A8%BF
[to_ping] =>
[pinged] =>
[post_modified] => 2013-12-16 04:16:42
[post_modified_gmt] => 2013-12-15 19:16:42
[post_content_filtered] =>
[post_parent] => 0
[guid] => http://○○○.com/?p=3425
[menu_order] => 0
[post_type] => post
[post_mime_type] =>
[comment_count] => 5
[filter] => raw
)

)

最新の記事5件の記事タイトルとURLを取得してリンクを作る

get_posts関数を使用して、最新記事5件のタイトルとURLを取得して、記事へのリンクを出力するプログラムを掲載します。

<ul>
<?php
$posts_info_array = get_posts( 'numberposts=5' );
foreach($posts_info_array as $post) :
?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>

記事下に最新記事のリンクを掲載する方法

上のサンプルプログラムは、確かに最新記事のリンクを作成できますが、WordPressの記事出力内(ループ内)で使用すると干渉され、意図する動きになりません。

こういう場合、以下のようにすればOKです。

<ul>
<?php
$posts_info_array = get_posts( 'numberposts=5' );
foreach($posts_info_array as $post_info) :
?>
    <li><a href="<?php echo get_permalink( $post_info->ID ); ?>"><?php echo $post_info->post_title; ?></a></li>
<?php endforeach; ?>
</ul>

これで記事下に最新記事5件のリンクを作成できます。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント