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

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

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

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

Q&A

2回答

3189閲覧

wordpressでサイト内検索が機能しません

hara-8

総合スコア6

WordPress

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

0グッド

0クリップ

投稿2019/06/06 02:58

編集2019/06/06 09:05

wordpressにてマルチサイト(サブディレクトリ型)を作成しています。
サブディレクトリのサイトにてサイト内検索が機能しません。

本来であればsearch.phpのテンプレートが呼び出されるところをトップページが表示されます。
URLは
http://〇〇.com/■■■/s=123(「123」で検索した場合。「http://〇〇.com/■■■/」はトップのURL)
と表示されます。

デフォルトのテンプレート(Twenty Fifteen)に切り替えて検索を試しても挙動は同じです。
(トップページが表示されるだけ)

テスト用のサブディレクトリ(http://〇〇.com/test/)を作成して検索すると通常に検索結果が表示されます。

######searchform.phpはこちらです

<form role="search" method="get" id="searchform" class="search-form searchform" action="<?php print home_url( '/' ); ?>"> <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder' ); ?>" value="<?php echo get_search_query(); ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label' ); ?>" /> <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button' ); ?>" /> </form>

検索結果が表示されるようにするにはどうすればいいですか。

######追記です
イメージ説明

ぼかしでなにがなにやらという感じかと思いますが、テーマは「Twenty sixteen」です。
検索結果の有無にかかわらず、「検索結果ページ」自体が表示されずトップページが表示されます。

マルチサイトで、と書きましたが、マルチサイト自体は関係ないかもしれません。
(テストでつくったサブディレクトリでは通常に検索ページが表示されました)

●search.phpを削除し、index.phpに「if(is_search)」で分岐をしても検索結果は表示されず、検索結果ページとしては認識されませんでした。

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

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

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

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

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

CHERRY

2019/06/06 09:14 編集

お使いのサーバーは、何でしょうか? プラグインは、どのようなものを使われていますか? 検索を拡張する様なプラグインなどは、入っていますか? Web サーバーのログに PHP のエラー等が出ていることはないでしょうか?
hara-8

2019/06/07 01:37

ご返信ありがとうございます。 サーバーは社内のエンジニアによる自社サーバーです。 CentOSをベースにしているそうです。 サーバー側にPHPエラーは出ていないそうです。 プラグインは「Classic Editor」「MW WP Form」「Really Simple SSL」「TinyMCE Advanced」「TinyMCE Advanced」「WP Multibyte Patch」を使用しています。 KazuhiroHatanoさんのアドバイスで「Query Monitor」を入れました。 検索に関するものは導入していません。
guest

回答2

0

こんな時もquery-monitor

条件文の項目でis_searchとかのクエリの条件でどれが有効になってるかが見れる
リクエストの項目でURLパラメータとメインクエリに渡された変数をチェックできる

is_search条件が有効になってないのは
sのURLパラメータがそもそも認識されてないのか
sはあるけどメインクエリに渡されてないのか
sが渡されてるのにis_searchになってないのか調査

投稿2019/06/06 10:10

KazuhiroHatano

総合スコア7804

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

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

hara-8

2019/06/07 02:00

ご回答ありがとうございます。 便利そうですがその分難しく、調べながら触っています。 また状況報告します。
guest

0

サブディレクトリのサイトにてサイト内検索が機能しません。

というのは、どの様に判断されたのでしょうか?

URLは
http://〇〇.com/■■■/s=123(「123」で検索した場合。「http://〇〇.com/■■■/」はトップのURL)
と表示されます。

URL がトップページのままで、s=検索キーワード が追加される状態は、正常な状態だと思います。 (WordPress で、URL を意図的に書き換えるようなことをしていない場合は、検索ページでも URL は、変わりません。)

投稿に存在しないキーワードで検索すると「見つかりませんでした」等の表示は出ないでしょうか? (たとえば、「あああああああ」等で検索。)


(追記)
テスト環境で、マルチサイトを作成して試してみました。
WordPress 5.2.1-ja / ディレクトリ型マルチサイト / Twenty Fifteen (子サイト)
(画像のドメインは、例示用ドメインなので実在しません&アクセスできません。念の為。)

サブサイトのインデックスページ ( URL 欄は、http://multisite.example.jp/site1/ )
イメージ説明

投稿に存在しないキーワード「ああああああ」で検索した結果 ( URL 欄は、http://multisite.example.jp/site1/?s=ああああああ )
イメージ説明

投稿に存在するキーワード「アイスクリーム」で検索した結果 ( URL 欄は、http://multisite.example.jp/site1/?s=アイスクリーム )
イメージ説明

上記のように インデックスページも 検索結果ページも URL は、同じで、QueryString(URLパラメーター)の有無だけが異なるだけです。

この状況と異なる場合は、具体的な状況を画面キャプチャーなどを追加していただけると回答が付きやすいと思います。

投稿2019/06/06 06:32

編集2019/06/06 06:44
CHERRY

総合スコア25171

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

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

hara-8

2019/06/06 09:06

ご回答ありがとうございます。 質問内容を追記しました。 検索結果の有無にかかわらず、「検索結果ページ」自体が表示されずトップページが表示されてしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問