WordPressで「さらに読み込む」ボタンを追加する方法

訪問者がブログにアクセスしたとき、目標はできるだけ長く滞在してもらうことです。しかし、常に次のページをクリックしなければならない場合、離脱の原因となる摩擦が生じ、コンテンツをさらに探索する前にサイトを離れてしまう可能性があります。

そこで、「投稿をさらに読み込む」ボタンが登場します。読者は、流れを中断することなく、ページを離れることなく新しい記事をすぐに読み込むことができます。このシンプルな機能は、直帰率を減らし、サイト滞在時間を改善し、コンテンツの閲覧を楽にします。

このアプローチは、特に多くの投稿があるブログや雑誌スタイルのサイトで効果的であることがわかっています。「さらに読み込む」ボタンを追加すると、読者はより多くのコンテンツを発見しやすくなります。さらに、滞在時間が長くなるほど、購読したり、ロイヤルカスタマーになったりする可能性が高まります。

この記事では、WordPressで投稿をさらに読み込むボタンを追加する方法をステップバイステップでご紹介します。

WordPressに「さらに読み込む」ボタンを追加する方法

WordPressで「さらに投稿を読み込む」ボタンを追加する時期と理由

サイトに多くの時間を費やしてもらいたいのであれば、新しいコンテンツを発見しやすくする必要があります。訪問者がコンテンツにエンゲージしている時間が長いほど、表示回数が増え、購読したり、また戻ってきたりする可能性が高くなります。

ほとんどのブログでは、ホームページ、ブログ、またはアーカイブページの最下部に、「古い投稿」リンクや 数値ページネーション のようなシンプルなナビゲーションを使用しています。これは機能しますが、読書の流れを中断させ、訪問者が閲覧を停止させる可能性があります。

そのため、特定の種類のサイトでは、「さらに投稿を読み込む」ボタンを追加することで大きなメリットが得られます。特に、フードブログ、写真サイト、リスト記事、またはバイラルニュースサイトのようなコンテンツが豊富なウェブサイトに効果的です。

例えば、So Much Food というブログを見てみましょう。彼らは、新しいレシピを即座に読み込む、クリーンな「もっと投稿を読み込む」ボタンを使用しています。

ブログでの「投稿をさらに読み込む」ボタンの例

ページ全体を再読み込みする代わりに、「さらに読み込む」ボタンは無限スクロールのように機能します。JavaScriptを使用して次のコンテンツセットをすばやく取得します。これにより、ユーザーエクスペリエンスが向上し、中断なくより多くのコンテンツを表示する機会が得られます。

それでは、WordPressウェブサイトに「さらに読み込む」投稿ボタンを簡単に追加する方法を見ていきましょう。

ステップ1:WordPressに「さらに読み込む」ボタンを追加する

まず最初に行うべきことは、Ajax Load More プラグインをインストールして有効化することです。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。

有効化すると、プラグインはWordPress管理メニューに「Ajax Load More」という新しいメニュー項目を追加します。それをクリックして、プラグインの設定ページに移動する必要があります。

Ajax Load More 設定

設定ページでは、ボタンの色を選択できます。また、ボタンを 無限スクロール に置き換えることもできます。これは、ユーザーがボタンをクリックしなくても、次の投稿のバッチを自動的に読み込みます。

次に、投稿を表示するためのテンプレートを追加するには、Ajax Load More » リピーターテンプレート ページにアクセスする必要があります。

プラグインには、投稿を表示するためのWordPressループを含む基本的なテンプレートが付属しています。ただし、テーマと一致せず、ウェブサイトで場違いに見える可能性があります。

これを修正するには、テーマがインデックス、アーカイブ、およびブログページに投稿を表示するために使用するコードをコピーする必要があります。

通常、このコードはテーマの`template-parts`フォルダにあります。そのフォルダには、さまざまなコンテンツを表示するためのテンプレートがあります。たとえば、`content-page.php`、`content-search.php`などです。

ジェネリックな`content.php`テンプレートを探します。デモテーマの`content.php`ファイルの例を次に示します。

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
        // Post thumbnail.
        twentyfifteen_post_thumbnail();
    ?>
 
    <header class="entry-header">
        <?php
            if ( is_single() ) :
                the_title( '<h1 class="entry-title">', '</h1>' );
            else :
                the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
            endif;
        ?>
    </header><!-- .entry-header -->
 
    <div class="entry-content">
        <?php
            /* translators: %s: Name of current post */
            the_content( sprintf(
                __( 'Continue reading %s', 'twentyfifteen' ),
                the_title( '<span class="screen-reader-text">', '</span>', false )
            ) );
 
            wp_link_pages( array(
                'before'      => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfifteen' ) . '</span>',
                'after'       => '</div>',
                'link_before' => '<span>',
                'link_after'  => '</span>',
                'pagelink'    => '<span class="screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>%',
                'separator'   => '<span class="screen-reader-text">, </span>',
            ) );
        ?>
    </div><!-- .entry-content -->
 
    <?php
        // Author bio.
        if ( is_single() && get_the_author_meta( 'description' ) ) :
            get_template_part( 'author-bio' );
        endif;
    ?>
 
    <footer class="entry-footer">
        <?php twentyfifteen_entry_meta(); ?>
        <?php edit_post_link( __( 'Edit', 'twentyfifteen' ), '<span class="edit-link">', '</span>' ); ?>
    </footer><!-- .entry-footer -->
 
</article><!-- #post-## -->

そのコードを見つけたら、プラグイン設定の「リピーターテンプレート」フィールドに貼り付ける必要があります。

設定を保存するために、「テンプレートを保存」ボタンをクリックすることを忘れないでください。

次に、Ajax Load More » Shortcode Builder ページにアクセスして、ショートコード を生成する必要があります。

このページには、カスタマイズできるさまざまなオプションが含まれています。まず、コンテナタイプを選択する必要があります。不明な場合は、以前にコピーしたテンプレートを参照してください。ほとんどの最新のWordPressテーマでは、<div>要素が使用されています。

その後、ボタンラベルのセクションまで下にスクロールします。ここでボタンに表示されるテキストを変更できます。デフォルトでは、プラグインは「古い投稿」を使用しますが、これを「さらに投稿を読み込む」または好きなものに変更できます。

ボタンのラベル

最後に、投稿を自動的に読み込むか、ユーザーが「さらに読み込む」ボタンをクリックするのを待つかを選択する必要があります。

スクロールを無効にする

ショートコードが使用できるようになりました。右側の列にショートコードの出力が表示されます。ショートコードをコピーしてテキストエディタに貼り付けてください。次のステップで必要になります。

ショートコード出力

ステップ2:WordPressテーマに「さらに投稿を読み込む」を追加する

このチュートリアルのこの部分では、WordPressのテーマファイルにコードを追加する必要があります。以前にこれを行ったことがない場合は、WordPressでコードをコピー&ペーストする方法に関するガイドをご覧ください。

注意: 変更を加える前に、WordPressテーマをバックアップすることを忘れないでください。

テーマ内で「さらに読み込む」ボタンを追加したいテンプレートファイルを見つける必要があります。テーマの構成方法によりますが、通常これらのファイルは index.php、archives.php、categories.php などです。

前にコピーしたショートコードを、endwhile; タグの直後にテーマに追加する必要があります。

テーマファイルにショートコードを追加するため、do_shortcode関数内で次のように追加する必要があります。

echo do_shortcode('[ajax_load_more container_type="div" post_type="post"]');  

これで変更を保存し、ウェブサイトにアクセスして「もっと投稿を読み込む」ボタンが機能していることを確認できます。デモサイトでは以下のようになりました。

さらに読み込む投稿ボタンのプレビューをクリック

この記事が、WordPressに「さらに読み込む」ボタンを追加する方法を学ぶのに役立ったことを願っています。また、WordPressで将来の予約投稿を表示する方法に関するガイドや、WordPress向けの最高の関連記事プラグインの専門家による選び方もご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

14 CommentsLeave a Reply

  1. これは、「投稿をさらに読み込む」ボタンを追加するための優れたチュートリアルです

    ただ、一つ質問があります。現在のテーマでブログ投稿を表示するためにページネーション(例:「次へ」と「前へ」の投稿リンクが下部にある)を使用している場合、Ajax Load Moreプラグインのショートコードを追加すると、そのページネーションが「もっと読み込む」ボタンに置き換わりますか?
    それとも、競合してサイトに問題やクラッシュを引き起こす可能性がありますか?

    既存のページネーションと連携してこれがどのように機能するかについての、いくつかの明確化があると非常に役立ちます。サイトを壊したくはありませんが、読者にとってよりスムーズな「さらに読み込む」体験は気に入っています。

    • There should not be a conflict but it would depend on your specific theme, we would recommend reaching out to your theme’s support and they can let you know if there are any conflicts with the plugin :)

      管理者

  2. WPコミュニティを教育するための継続的な努力に感謝します。Ajax Load Moreを単一の投稿内のコンテンツに使用できるか疑問に思っています。つまり、このプラグイン(新しい投稿の他のプラグインではなく)を使用して、ページ区切りネイティブ機能をページリンクに置き換えたいのです。

    可能ですか?

    • 現時点では、プラグインはそのように設計されていませんが、プラグインのサポートに確認すれば、それが可能かどうか、および設定方法を教えてくれるでしょう。

      管理者

  3. この記事は非常にわかりやすかったのですが、このステップでつまずきました。

    「以前コピーしたショートコードを、`endwhile;`タグの直後にテーマに追加する必要があります。」

    index.php やテンプレートファイルが含まれている可能性のある他のすべてのものを調べましたが、endwhile; タグはどこにも見つかりませんでした。この記事は数年前のものであることは承知していますが、このタグが置き換えられた可能性のある新しい代替コードはありますか?

    • テーマ固有の設定がある場合があります。特定のテーマのサポートに問い合わせることをお勧めします。そうすれば、どこに追加すればよいか教えてくれるはずです。

      管理者

  4. まず、このチュートリアルに本当に感謝します。救世主でした。しかし、問題があります。「さらに読み込む」ボタンをクリックすると、投稿が一度繰り返され、その後は完全に機能します。何か助けがあれば、非常に感謝します。乾杯。

  5. チームの皆様へ

    ブログ用の最初の新しいテーマを作成しました。ロードボタンまたは無限スクロールのどちらかを追加したいのですが、この投稿のすべてを適用しましたが、ロードボタンが機能せず、動作しませんでした。いくつか調査しましたが、何も機能しませんでした。
    助けていただけますか?

    ありがとうございます
    よろしくお願いいたします

    • タマラさん、こんにちは。

      すべてのプラグインを無効化してから、さらに読み込むボタンを追加してみてください。機能する場合は、プラグインを1つずつ有効化して、どのプラグインが互換性の問題を引き起こしている可能性があるかを特定してください。

      管理者

  6. ちょうど今日この機能が必要だったので、完璧なタイミングでした!指示通りにすべて設定しましたが、ページ上のボタンをクリックするまで正常に動作します。読み込みは保留中のように見えますが、それ以上何も起こりません。サポートで同様の問題は見つかりませんでした。何か考えはありますか?

コメントを残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。