【コピペOK】WordPressの投稿ページで最新記事10件の表示をする方法 【コピペOK】WordPressの投稿ページで最新記事10件の表示をする方法 – みなためラボ

【コピペOK】WordPressの投稿ページで最新記事10件の表示をする方法


文字サイズ:?? (px)

はじめに

みなため

どうも! みなため(@MinatameT)です。

この記事では、次の画像のように「最新記事10件」を表示する方法を紹介します。

こんなふうに、記事名とアイキャッチ画像がセットで表示されます。

ちなみに、この画像は当サイトのものです。

キャラクター

それでは、その方法をさっそく確認していきます。

手順1:すべての投稿を表示するURLを作成する

以下のソースコードを、「WordPressの管理画面」>「外観」>「テーマエディター(テーマの編集)」>「テーマのための関数 (functions.php) 」にコピペ(コピーして貼り付け)してください。

function post_has_archive($args,$post_type) //変更後、「設定>パーマリンク設定>変更を保存」を忘れずに!
{
  if ('post' == $post_type)
  {
    $args['rewrite'] = true;
    $args['has_archive'] = 'posts';
  }
  return $args;
}
add_filter('register_post_type_args','post_has_archive',10,2);
ファイルを更新ボタン

貼り付け後、上の画像のような「ファイルを更新」ボタンをクリックします。

ここでうまく更新できない場合は、HTMLとPHPがごちゃごちゃになっている可能性がありますので、貼り付けたコードを次のコードに変更してみてください。

<?php
function post_has_archive($args,$post_type) //変更後、「設定>パーマリンク設定>変更を保存」を忘れずに!
{
  if ('post' == $post_type)
  {
    $args['rewrite'] = true;
    $args['has_archive'] = 'posts';
  }
  return $args;
}
add_filter('register_post_type_args','post_has_archive',10,2);
?>

先頭に「<?php」、末尾に「?>」をつけることによって、HTMLからPHPへと部分的に切り替えただけですが、おそらくうまくいったと思います。

手順2:すべての投稿を表示できるようにする

「WordPressの管理画面」>「設定」>「パーマリンク設定」から、次の画像のような「変更を保存」ボタンをクリックします。

変更を保存ボタン

これで、すべての投稿が表示できるようになりました! そのURLは、

すべての投稿のURLサイトのURL/posts/

です。

例えば、当サイト(https://minatame-lab.com)の場合は

当サイトのすべての投稿のURLhttps://minatame-lab.com/posts/

です。

手順3:投稿ページに最新記事一覧を追加する

以下のソースコードを、「WordPressの管理画面」>「外観」>「テーマエディター(テーマの編集)」>「個別投稿 (single.php) 」にコピペ(コピーして貼り付け)してください。

なお、貼り付ける場所は、最新記事一覧を表示させたいところにしてください。最後の行に貼り付けるのが無難だと思います。

<h2>最新記事(10件)</h2>
<ul>
  <?php $posts = get_posts('numberposts=10&orderby=post_date&order=DESC"'); ?>
  <?php foreach($posts as $post): ?>
  <li class="single">
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
  </li>
  <?php if(has_post_thumbnail()): ?>
  <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(array(300,300)); ?></a>
  <?php endif; ?>
  <?php endforeach; ?>
  <p>
    <a href="<?php echo "すべての投稿URL"; ?>">もっと見る >></a>
  </p>
</ul>

ソースコード中の「すべての投稿URL」の部分を、手順2で確認したURL(サイトのURL/posts)に変更してください。

また、サムネイル画像の大きさを変更したい場合は、array(300,300)の部分の数値を変更してみてください。

変更したら、次の画像のような「ファイルを更新」ボタンをクリックします。

ファイルを更新ボタン

ここでうまく更新できない場合は、HTMLとPHPがごちゃごちゃになっている可能性がありますので、貼り付けたコードを次のコードに変更してみてください。

?>
<h2>最新記事(10件)</h2>
<ul>
  <?php $posts = get_posts('numberposts=10&orderby=post_date&order=DESC"'); ?>
  <?php foreach($posts as $post): ?>
  <li class="single">
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
  </li>
  <?php if(has_post_thumbnail()): ?>
  <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(array(300,300)); ?></a>
  <?php endif; ?>
  <?php endforeach; ?>
  <p>
    <a href="<?php echo "すべての投稿URL"; ?>">もっと見る >></a>
  </p>
</ul>
<?php

先頭に「?>」、末尾に「<?php」をつけることによって、PHPからHTMLへと部分的に切り替えただけですが、おそらくうまくいったと思います。

先程説明したとおり、「すべての投稿URLの部分の変更」と「ファイル更新」を忘れないでください。

これで、投稿に最新記事(10件)が表示されるようになりました!

キャラクター

改善点はまだまだあると思いますが、今回のところは以上です。皆さん、お疲れ様でした。

記事本文下のバナー広告

この記事をSNSでシェアする

 

プログラミングカテゴリーの最新記事(5件)

管理人のTwitter

Tweets by MinatameT

内部リンク集

広告枠のレンタルの詳細はこちら!
記事作成のご依頼の詳細はこちら!