質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

Q&A

解決済

1回答

1578閲覧

WordPressのアーカイブにて、ページネーションができない

kmyr

総合スコア13

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

0グッド

0クリップ

投稿2020/08/31 02:07

WordPressのアーカイブにて、ページネーションが実装できずに困っています。

URLはきちんと
http://ドメイン/page/2/
http://ドメイン/page/3/
となっていますが、ページネーションの数字をクリックしても何も変わりませんでした。エラーページ、同じページとかではありません。何もアクションしないです。

HTMLソースを見ますとちゃんと記述しており、クリックするとページへジャンプできます。
右クリックで「新しいタブで開く」でも開けました。

なぜ、ページネーションの数字をクリックしても動作出来ないのでしょうか?
原因が分からず行き詰っています。
解決方法を教えて頂ければ助かります。
よろしくお願い致します。

参考サイト:【WordPress】プラグインを使用しないでページャーを自作する方法

functions.php

if( !function_exists('pagination') ){ function pagination($pages = '', $range = 4){ $showitems = ($range * 2)+1; global $paged; //現在のページの値 if( empty($paged) ){ //デフォルトのページ $paged = 1; } if( $pages == '' ){ global $wp_query; $pages = $wp_query->max_num_pages; //全ページ数を取得 if( !$pages ){ //全ページ数が空の場合は、1にする $pages = 1; } } if( 1 != $pages ){ //全ページ数が1以外の場合は以下を出力する echo " <div class=\"pagination\"><span>Page ".$paged." of ".$pages."</span>"; if( $paged > 2 && $paged > $range+1 && $showitems < $pages ){ echo "<a href='".get_pagenum_link(1)."'>&laquo; First</a>"; } if( $paged > 1 && $showitems < $pages ){ echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo; Previous</a>"; } for ($i=1; $i <= $pages; $i++){ if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){ echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href='".get_pagenum_link($i)."' class=\"inactive\"" . $page_no_index . ">" . $i . "</a>"; } } if ( $paged < $pages && $showitems < $pages ){ echo "<a href=\"".get_pagenum_link($paged + 1)."\">Next &rsaquo;</a>"; } if ( $paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages ){ echo "<a href='".get_pagenum_link($pages)."'>Last &raquo;</a>"; } echo "</div> \n"; } } }

archive.php

<?php if ( have_posts() ) : ?> <!-- タイトル --> <?php the_archive_title( '<h2>', '</h2>' ); ?> <?php endif; ?> <!-- 記事の中身があった場合、コンテンツを出力する準備する --> <?php if( have_posts() ): ?> <?php while( have_posts() ): the_post(); ?> <!-- ↓ここからループ --> <!-- ハイパーリンク --> <article> <a href="<?php the_permalink(); ?>"> <!-- 日付 --> <time> <?php the_time('Y年n月j日'); ?> </time> <!-- タイトル --> <p><?php echo the_title();?></p> <!-- 記事の抜粋 --> <div> <?php the_excerpt(); ?> </div> </a> </article> <!-- ここまでループ --> <?php endwhile; ?> <!-- ページネーション--> <?php if ( function_exists( "pagination" ) ) { pagination( $additional_loop->max_num_pages ); } ?> <?php endif; ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決しましたことを報告します。
上記のPHPコードに間違いはなかったのでした。原因は他のJavaScriptが幕のようなものを張ってしまったことでした。

投稿2020/08/31 09:29

kmyr

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問