前提・実現したいこと
お世話になります。
Wordpressでニュースページを作成し、年ごとのアーカイブを設定しています。
設定自体は2年ほど前にしていて当時は問題なく動いていたのですが、気付いたら動かなくなっていました。
プラグインは使用していません。
今年5月にサーバのシステムが更新されたのかログインが出来なくなったことがあり、アカウントを登録し直してもらいました。
また、7月にドメインのhttpsへの移行がありました。
ただ、動かないと気付いたのが4日ほど前のため、関係があるかは分かりません。
知識が足りず設定のどこが間違っているか分からない状態のため、お力お貸しいただければと思います。
発生している問題・エラーメッセージ
アーカイブの年をクリックしても各年一覧に飛ばず最新からの一覧が表示されます。
例えば2017や2016をクリックしても、最新から10件までが表示されます。(10件表示設定のため)
次ページへのリンクは表示されますが、クリックしても最新から10件までで変わりません。
該当のソースコード
管理画面のパーマリンク
https://example.jp/news/%year%/%monthnum%/%day%/%post_id%.html
生成される各記事のURL
https://example.jp/news/2018/09/10/276.html
sidebar.phpに
<?php wp_get_archives('type=yearly'); ?>でアーカイブを設定しhtml上は各リンクが以下のように表示されます。
<ul> <li><a href='https://example.jp/news/2018'>2018</a></li> <li><a href='https://example.jp/news/2017'>2017</a></li> <li><a href='https://example.jp/news/2016'>2016</a></li> </ul>エラーログを確認したところ以下のエラーが出ていました。
PHP Warning: Missing argument 1 for query_posts(), called in /opt2/web/example.jp/htdocs/news/wp-content/themes/example/archive.php on line 24 and defined in /opt2/web/example.jp/htdocs/news/wp-includes/query.php on line 96
それぞれのファイルの該当箇所が以下になっていましたので、こちらのquery_posts();の書き方に問題があるのでしょうか。
archive.php
query.php
function query_posts($query) {
$GLOBALS['wp_query'] = new WP_Query();
return $GLOBALS['wp_query']->query($query);
}
試したこと
http→httpsへのリンクを確認修正しました。
補足情報(FW/ツールのバージョンなど)
WordPress 4.9.8
ログインされているプラグイン
・Disable Emojis (GDPR friendly)
・Disable REST API
・Disable XML-RPC
・Google Captcha (reCAPTCHA) by BestWebSoft
・Login rebuilder
・Really Simple SSL
・WP Mail SMTP
※勝手に停止が出来ません
回答1件
あなたの回答
tips
プレビュー