get_previous_post()


WordPressのget_previous_post()関数は、現在の投稿の前の投稿を取得するために使用されます。

構文

get_previous_post( bool $in_same_term = false, array|string $excluded_terms = '', string $taxonomy = 'category' );

引数の説明

  • $in_same_term (bool) — 前の投稿を同じターム内から取得するかどうかを指定します。デフォルトはfalse
  • $excluded_terms (array|string) — 除外するタームID。配列またはカンマ区切りの文字列で指定します。
  • $taxonomy (string) — タームをフィルタリングするタクソノミー。デフォルトは'category'

例1: 前の投稿のタイトルとリンクを表示する

この例は、前の投稿が存在する場合にタイトルとリンクを表示します。

<?php
$previous_post = get_previous_post();
if ( $previous_post ) {
    echo '<a href="' . get_permalink( $previous_post->ID ) . '">' . get_the_title( $previous_post->ID ) . '</a>';
}
?>

例2: 同じカテゴリ内の前の投稿を表示する

$in_same_term引数をtrueに設定して、同じカテゴリ内の投稿に限定します。

<?php
$previous_post = get_previous_post( true );
if ( $previous_post ) {
    echo '<a href="' . get_permalink( $previous_post->ID ) . '">' . get_the_title( $previous_post->ID ) . '</a>';
}
?>

例3: 特定のタクソノミーの中で前の投稿を取得する

タクソノミーを指定し、前の投稿を取得します。

<?php
$previous_post = get_previous_post( true, '', 'custom_taxonomy' );
if ( $previous_post ) {
    echo '<a href="' . get_permalink( $previous_post->ID ) . '">' . get_the_title( $previous_post->ID ) . '</a>';
}
?>

例4: 特定のタームIDを除外して前の投稿を取得する

$excluded_terms引数を使って特定のタームIDを除外します。

<?php
$previous_post = get_previous_post( false, '5,6,7' );
if ( $previous_post ) {
    echo '<a href="' . get_permalink( $previous_post->ID ) . '">' . get_the_title( $previous_post->ID ) . '</a>';
}
?>

例5: カスタムメッセージの追加

前の投稿が存在しない場合にカスタムメッセージを表示します。

<?php
$previous_post = get_previous_post();
if ( $previous_post ) {
    echo '<a href="' . get_permalink( $previous_post->ID ) . '">' . get_the_title( $previous_post->ID ) . '</a>';
} else {
    echo '前の投稿はありません。';
}
?>

注意事項

前の投稿が存在しない場合、関数はnullを返します。
$in_same_termtrueの場合、$taxonomy引数を正しく指定してください。
除外するタームはタームIDで指定し、複数の値をカンマで区切って渡します。


関連機能: