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

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

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

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

Q&A

1回答

903閲覧

ACF 投稿オブジェクトでの検索

toshi-104

総合スコア12

WordPress

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

0グッド

0クリップ

投稿2020/02/07 03:38

Advanced Custom Fieldの投稿オブジェクトを使用して検索をかけたいと思っています。

フォームから数値を送って、IDでフックするのは下記のコードでできたのですが、投稿タイトルでフックしたいと考えております。

php

1if(isset($search)) { 2 $metaquerysp[] = array( 3 'key'=> 'field_name', 4 'value'=> $search, 5 'relation' => 'OR' 6 ); 7}

単純に、表示させるには下記のコードでいけるという調べはついたのですが、

PHP

1echo get_post( get_field('field_name') )->post_title;

以下の部分でタイトルを使うにはどうしたらよいでしょうか。

php

1'key'=> 'field_name', //タイトルでフックしたい

ご存知の方がいらっしゃいましたら是非ご教授願います。

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

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

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

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

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

kei344

2020/02/07 10:10

「フック」はするとどうなる機能のことを言っているのでしょう。
toshi-104

2020/02/08 01:03

すみません! 「検索で引っかかる」という意味で使っておりました。。。
guest

回答1

0

前後のコードが無いので動くかどうかはわかりませんが。

PHP

1/* 2if(isset($search)) { 3 $metaquerysp[] = array( 4 'key'=> 'field_name', 5 'value'=> $search, 6 'relation' => 'OR' 7 ); 8} 9*/ 10 $metaquerysp[] = array( 11 'key'=> 'field_name', 12 'value'=> get_post( get_field('field_name') )->post_title, 13 'relation' => 'OR' 14 );

投稿2020/02/08 01:42

kei344

総合スコア69458

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

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

toshi-104

2020/02/08 01:50

ご回答ありがとうございます!! ただ、 'key'=> 'field_name', Keyの部分が対象にしたい部分です。 すみません。。。
kei344

2020/02/08 01:52

'key'=> 'field_name',はカスタムフィールドのキーを指定している部分です。そこをタイトルにするのは設計がおかしい可能性が高いです。
toshi-104

2020/02/08 03:26

そうなんですね?? 他の処理も同様にやっていました(><) //フォーム <form role="search" method="get" id="searchform" action="/"> ・ ・ ・ <select id="search" name="search[]" multiple> <option value="field_Title1">field_Title1</option> <option value="field_Title2">field_Title2</option> <option value="field_Title3">field_Title3</option> </select> <button type="submit" id="adSerachSubmit"> 検索する </button> </form> //PHP <?php $s = $_GET['s']; $searchArea = $_GET['searchArea']; $search = $_GET['search']; if(isset($searchArea)) { $metaquerysp[] = array( 'key'=> 'property-area', 'value'=> $searchArea, 'relation' => 'OR' ); } if(isset($search)) { $metaquerysp[] = array( 'key'=> 'field_Title', 'value'=> $search, 'relation' => 'OR' ); } query_posts( array( 'post_status' => 'publish', 'post_type' => 'property', 'paged' => $paged, 'posts_per_page' => get_option('posts_per_page'), 'meta_query' => array( 'relation' => 'AND', $metaquerysp ) ) ); ?> フォームから取得した値は <?php echo implode(' ,', $search); ?> で確認できています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問