Title: カスタムフィールドに値を持つページの存在の有無を判定したい
Last modified: 2016年7月30日

---

# カスタムフィールドに値を持つページの存在の有無を判定したい

 *  解決済 [JunichiK](https://ja.wordpress.org/support/users/junichik/)
 * (@junichik)
 * [11年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%81%ab%e5%80%a4%e3%82%92%e6%8c%81%e3%81%a4%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e5%ad%98%e5%9c%a8%e3%81%ae%e6%9c%89/)
 * いつもお世話になります。
 * ある値をカスタムフィールドの値に持つページの有無を判定したいのですが、そのよう
   なことは可能なのでしょうか？
    現在はカスタムフィールドを検索対象に出来るプラグ
   イン「Search Everything」を使用して、tableの中で下記のようにそれぞれ検索をかける
   ようにしています。
 *     ```
       $url = home_url('/?s=値A');
       echo "<td><a href=\"".$url."\">検索</a></td>";
       ```
   
 * これを、検索をかける前にページの有無判定をして、下記のような形になるのが理想です。
 *     ```
       $url = home_url('/?s=値A');
       if( カスタムフィールドに値Aを持つページ有無の判定 ){
        echo "<td><a href=\"".$url."\">検索</a></td>"; //ある場合
       } else {
        echo "ページはありません"; //無い場合
       }
       ```
   
 * このようなことは可能なのでしょうか？
    不可能であれば、不可能であるというご回答
   で納得いたしますので、何卒よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)

 *  [hide](https://ja.wordpress.org/support/users/hideokamoto/)
 * (@hideokamoto)
 * [11年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%81%ab%e5%80%a4%e3%82%92%e6%8c%81%e3%81%a4%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e5%ad%98%e5%9c%a8%e3%81%ae%e6%9c%89/#post-199622)
 *     ```
       if( get_post_meta($post_id, カスタムフィールドのキー)　=== "値A" ) {
       ```
   
 * のような条件分岐でいかがでしょうか？
 * get_post_meta関数を使用することでカスタムフィールドの値を取得できますので、
 * そこで取得した値が値Aかどうかを判定させています。
 * 詳細は[http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_post_meta](http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_post_meta)
   をご覧ください。
 *  [gblsm](https://ja.wordpress.org/support/users/gblsm/)
 * (@gblsm)
 * [11年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%81%ab%e5%80%a4%e3%82%92%e6%8c%81%e3%81%a4%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e5%ad%98%e5%9c%a8%e3%81%ae%e6%9c%89/#post-199667)
 * [get_posts 関数](http://wpdocs.sourceforge.jp/テンプレートタグ/get_posts)に「
   カスタムフィールドAが値Bである」という検索条件するパラメータを与えて呼び出します。
   get_posts の戻り値は配列なので、配列の要素が幾つあるか数えます（エラーチェック
   も必要と思いますが）。要素が1つ以上あれば「値BをカスタムフィールドAに持つ投稿」
   があると判断できます。
 * 投稿ではなく固定ページの場合は [get_pages 関数](http://wpdocs.sourceforge.jp/関数リファレンス/get_pages)
   が使えると思います。
 * どちらの場合もパラメータは meta_key や meta_value を使って指定します。[Codexの WP_Query の説明ページ](http://wpdocs.sourceforge.jp/関数リファレンス/WP_Query)
   に「カスタムフィールドパラメータ」という章があって参考になります。
 *  トピック投稿者 [JunichiK](https://ja.wordpress.org/support/users/junichik/)
 * (@junichik)
 * [11年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%81%ab%e5%80%a4%e3%82%92%e6%8c%81%e3%81%a4%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e5%ad%98%e5%9c%a8%e3%81%ae%e6%9c%89/#post-199683)
 * gblsmさん、hideokamotoさん、ありがとうございます。
    gblsmさんの方法でうまくいき
   ました。いつもありがとうございます。 配列の要素の数は数えずに、empty関数だけを
   使用しました。
 *     ```
       $url = home_url('/?s=値B');
       $args = array(
        'meta_key' => 'カスタムフィールドA',
        'meta_value' => '値B'
       );
       $posts_array = get_posts( $args );
       if (!empty($posts_array)){
        echo "<a href=\"".$url."\">検索</a>";
       } else {
       echo "ページはありません";
       }
       ```
   
 * hideokamotoさんの get_post_meta関数は、今回の場合では取得できませんでしたが、
   ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)

 トピック「カスタムフィールドに値を持つページの存在の有無を判定したい」には新たに
返信することはできません。

## タグ

 * [カスタムフィールド](https://ja.wordpress.org/support/topic-tag/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89/)
 * [有無判定](https://ja.wordpress.org/support/topic-tag/%e6%9c%89%e7%84%a1%e5%88%a4%e5%ae%9a/)
 * [検索](https://ja.wordpress.org/support/topic-tag/%e6%a4%9c%e7%b4%a2/)

 * フォーラム: [使い方全般](https://ja.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 3件の返信
 * 3人の参加者
 * 最後の返信者: [JunichiK](https://ja.wordpress.org/support/users/junichik/)
 * 最後の活動: [11年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%81%ab%e5%80%a4%e3%82%92%e6%8c%81%e3%81%a4%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e5%ad%98%e5%9c%a8%e3%81%ae%e6%9c%89/#post-199683)
 * 状態: 解決済

## トピック

### 人気のトピック

### 返信がないトピック

### サポート関連ではないトピック

### 解決済みのトピック

### 未解決のトピック

### すべてのトピック
