質問: 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 ※勝手に停止が出来ません
回答: 質問文に記載された内容から分かる範囲で... `PHP Warning: Missing argument 1 for query_posts()` は、query_posts() を呼び出す時の引数の数が、定義された内容と異なっているよというメッセージですね。 query_posts は、1つの引数が必要ですが、質問文に書かれたコードの > > archive.php > > > > > では、 引数を渡していないのが 原因ですね。 ただし、Warning は、致命的なエラーではないので、(希望とは異なりますが、デフォルトの条件で)検索するという動作はしていると思います。 どのような検索がされているかというと.... `query_posts()` を引数なしで呼び出すと `WordPress のデフォルトの検索条件`が設定されて検索されます。 管理画面の設定によりますが、WordPress インストール直後のデフォルトの条件は、 `最新の投稿10件を新しい順に表示` になっていると思いますので、管理画面で件数などを変更してない場合は、この状態だと思います。 ---- テーマファイルの PHP コードをどこかの段階で書き換えていなければ、おそらく製作された直後からこの状態だったのではないかと思われます。 なお、https://wpdocs.osdn.jp/テンプレートタグ/query_posts に > > 注 1: この関数はプラグインまたはテーマの中で使われることを想定されていません。後ほど出てくる説明にあるように、メインクエリーを変更するにはパフォーマンス面でも優れたより良いオプションが存在します。 > > > > 注 2: query_posts() はページ内のメインクエリーを書き換え、新しいクエリーのインスタンスと置き換えるために使う関数としては過度に単純化され、問題が発生しやすい方法です。非効率的で(SQL クエリを再実行します)、一部の状況では適切に実行することもできません(特にページング処理)。モダンな WordPress コードではもっと安定したメソッドを使うべきです。例えばpre_get_posts フックを使った方法などです。ひとことで言うと、query_posts() は決して使うべきではありません。 > > > と書かれているように query_posts をテンプレート内で使用することは、非推奨とされていますので、WP_Query か pre_get_posts あたりで、書き換えるのが良いと思います。