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

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

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

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2503閲覧

wp-pagenaviプラグインを使用しての404エラーについて

D-programming

総合スコア9

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/07/06 02:42

wp-pagenaviプラグインを使用しての404エラーについて

いつもお世話になっております。
今回、ご質問したいことがございまして表題の通り
「wp-pagenaviプラグインを使用しての404エラー」になります。

自分自身、同じような症状をサイトで検索し、function.phpに追記、及び
プラグインなどを実行しても修正できませんでした。

今回、カスタム投稿(news)と投稿ページ(コラムページ:column)の両2つにて「wp-pagenavi」を使用しており
投稿ページに関しましては上手く2ページ以降が反映されたのですが、カスタム投稿に関しましては
404エラーと表示されてしましました。
今現在、カスタム投稿と投稿ページを新着一覧としてまとめて表示させている状態となります。

下記、使用しているカスタム投稿を追記している「function.php」とカスタム投稿で作成したニュース一覧を出力している
「archive-news.php」ソースコードとなります。

何卒よろしくお願いします。

■function.php

function add_custom_post() { register_post_type( 'news', array( 'label'=> '新着一覧', 'labels' => array( 'menu_name' => '新着一覧' ), 'public' => true, 'query_var' => true, 'hierarchical' => false, 'rewrite' => array('slug' => 'news'), 'has_archive' => true, 'show_in_rest' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'author' ) ) ); register_taxonomy_for_object_type('category', 'news'); register_taxonomy_for_object_type('post_tag', 'news'); } add_action('init', 'add_custom_post');

■archive-news.php

<div class="single_content_inner_box"> <?php $paged = get_query_var('paged'); ?> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'paged' => $paged, 'post_type' =>array('post','news'),'posts_per_page' => 12 ); //$wp_query = new WP_Query($args); query_posts($args); if (have_posts()) : while (have_posts()) : the_post(); $post_cat = get_the_category(); $cat_name = $post_cat[0]->cat_name; ?> <div class="news_box_custom"> <div class="news_box_custom_inner"> <h3><?php echo get_the_date(); ?></h3> <p><?php the_category( '$post_id' ); ?></p> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> </div> </div> <?php endwhile; endif; ?> </div>

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

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

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

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

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

guest

回答2

0

query_postsを削除すれば動きませんか?

投稿2020/07/06 02:46

kei344

総合スコア69458

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

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

D-programming

2020/07/06 03:11

kei344様 早速なご回答ありがとうございました。 試しましたところ、「wp-pagenavi」で生成されております「送りボタン」、デフォルトで3個表示されておりましたが、上記コードを削除したところ、3個は1個の状態に変わってしまいました。
kei344

2020/07/06 03:53

WordPressの設定画面から表示件数を確認し、それがカスタム投稿の投稿数より低いことを確認してください。もし問題なくカスタム投稿の投稿数より低い場合はサイドバーなど他の箇所でquery_postsを使っていないか確認してみてください。(「query_postsは使わないもの」と考えても良いと思います) それ以外はちょっと思いつきません。 wp-pagenaviなどページングをするための関数は、WordPressがテンプレートを読み込む前に用意するWP_Queryを使用するため、何らかの理由でそれの書き換え(もしくはテンプレート上での別ループの生成)が行われている場合はページ数が一致しないことが起こります。
kei344

2020/07/06 04:00

「pre_get_posts」で検索。
D-programming

2020/07/06 04:06

kei344様 ご回答ありがとうございます。 最初に頂きましたご回答含め、再度検証しましたところ上記ご回答内にある「WordPressの設定画面から表示件数」に辿りつきました。 その後、ソース内に追加修正をし無事解決することができました。 本当にありがとうございました。
kei344

2020/07/06 04:07

再掲:「query_postsは使わないもの」「pre_get_posts」で検索。
guest

0

自己解決

wp-pagenaviプラグインを使用しての404エラーについて

上記症状の件、こちらでもう一度見直しまして「ダッシュボード」内の「1ページに表示する最大投稿数」を【1】に変更しましたら2ページ目も無事反映することができました。

しかし、コラム投稿でデフォルトで一覧としていたページは、12個から1個しか反映されなくなりました。なので、「1ページに表示する最大投稿数」を【1】に保ちつつ、コラム一覧が生成されているページ「category.php」に下記ソースを加えデフォルトの12個へ戻しました。

■category.php

<?php global $query_string; query_posts( $query_string . "&posts_per_page=12&paged=".$paged ); while ( have_posts() ) : the_post() ?>

kei344様、含め回答、閲覧いただきありがとうございました。
また、何かありましたら何卒よろしくお願いします。

投稿2020/07/06 03:58

D-programming

総合スコア9

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問