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

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

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

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

WordPress

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

PHP

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

Q&A

解決済

1回答

2083閲覧

カスタム投稿タイプで作成した記事を検索結果一覧に表示したい

sweeetlife

総合スコア15

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

WordPress

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

PHP

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

0グッド

0クリップ

投稿2018/05/17 05:03

編集2018/05/22 08:54

したいこと

カスタム投稿タイプの記事を
検索結果一覧に表示できるようにしたい。

試してみたこと

検索して調べたコードを
自分のカスタム投稿タイプ名へ変更して

function.phpに追記した。
※追加したいカスタム投稿タイプ名は
seriesrace meeting race の3つです。

//*カスタム投稿タイプも検索結果一覧に表示させる*// function filter_search( $query ) { if ( $query->is_search() && $query->is_main_query() && ! is_admin() ) { $query->set( 'post_type', array( 'post','seriesrace','meeting','race' ) ); } } add_filter( 'pre_get_posts', 'filter_search' );

問題
このコードを追記すると画面が真っ白になってしまします。
削除すると元に戻るのですがこのコードの間違っている場所が分かりません。

どこかコードが違うのでしょうか。
どうかご教授よろしくお願いいたします。

追記・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
上の問題点ではコードを記入するとエラーになるということでしたが
現在エラーの原因は重複するコードを追記していたためということが分かりました。

しかしながら上記のコードを追記なおしてもエラーは起きませんが
検索窓の結果にに指定したカスタム投稿タイプが表示されません。

そこで、オリジナルテーマの(Jストーク)function.php内の
検索窓に当たるコードを見てみたら

// Search Form if (!function_exists('my_search_form')) { function my_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" class="searchform cf" action="' . home_url( '/' ) . '" > <input type="search" placeholder="検索する" value="' . get_search_query() . '" name="s" id="s" /> <button type="submit" id="searchsubmit" ><i class="fa fa-search"></i></button> </form>'; return $form; } add_filter( 'get_search_form', 'my_search_form' ); }

とありました。
ここに表示したいカスタム投稿タイプのスラッグなど追記する場所があるのと予想しておりますが読解能力が未だ乏しいため実装に成功しておりません。

どなたかご教授よろしくお願いいたします。

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

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

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

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

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

dit.

2018/05/17 06:14

functions.phpに提示のコードを入れてみましたが、特に問題がなさそうです。そのコードを入れる際、誤って他の機能の必要な部分を消してしまっている可能性もあるかと思います。
退会済みユーザー

退会済みユーザー

2018/05/17 06:29

とりあえずデバッグモードでエラーを確認しましょう(wp-config.phpのdefine('WP_DEBUG', false);をtrueにする)
sweeetlife

2018/05/22 08:46

デバッグモードで確認したところ重複するコードがfunction.phpに記入されていました。問題解決の一歩になりアドバイスをありがとうございます。そこで再度コードを慎重にチェックの後貼り付けても検索窓には希望のカスタム投稿タイプは表示されませんでしたので未だに模索しております。
guest

回答1

0

自己解決

コードは正しく、カスタム投稿タイプも検索に含まれていました。

なぜ私がエラーと勘違いしてしまったかというと
検索ワードの対象になるワードのほとんどが
カスタム投稿フィールド内のテキストフィールドに入力されていたワード
であったのが原因だったと判明いたしました。

これからカスタム投稿フィールド内のテキストも検索結果に含むよう
対策を変更していきたいと思います。

私のような問題も焦点が合わない素人にもかかわらず、知恵をかしていただきました方々ありがとうございました。

投稿2018/05/24 04:36

編集2018/05/24 04:52
sweeetlife

総合スコア15

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問