Title: カスタムフィールドの値を表示できない
Last modified: 2016年9月17日

---

# カスタムフィールドの値を表示できない

 *  [linamia](https://ja.wordpress.org/support/users/linamia/)
 * (@linamia)
 * [10年前](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%ae%e5%80%a4%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/)
 * カスタムフィールドの利用について、３日間考えても全然解決しないので質問させてくだ
   さい…。
 * Toolset Types
    というプラグインを使い、カスタム投稿＆カスタムフィールドを作り
   ました。
 * 目的としては、
    TOPページに新着情報を表示したいので、とりあえず試験的に
 * —
 * news（ポストタイプ）
    　Lnews_title（フィールドスラッグ）　例：チョコレート
 * —
 * を設定して、管理画面の構築は上手くできている状況です。
 * その後、index.phpのループ内に以下のように記述しました
 * —
 * echo post_custom(‘wpcf-news_title’);
    ※wpcf-はプラグイン依存らしいので、ありの
   場合となしの場合も試しました。
 * —
 * 私の考えだと、
    これでindex.phpに「チョコレート」と表示されると思っていたのですが、
   どうしても値を取得することができません。（ソース上にも出てきません）
 * 表示されるページが違うということがないように
    echo ‘てすと’; を併記していて、
   そちらは出力されているので、違う場所に出力されているということはないと思います。
 * そこで考えられる可能性としては、
 * １．私が何か勘違いをしていて、設定漏れがある
    　（functionsを書き換えないとい
   けないとか、DBを作らないといけないとか？） ２．そもそも、カスタム投稿から投稿
   した「news_title」に値が入っていない 　（ただし、管理画面の投稿一覧から記事の
   存在を確認できるので可能性は低いのでは） ３．サーバー環境が合わない（ただし、
   ロリポップとGMOの２サーバーで同じテストを 　　しているので、可能性としては低い
   と思っています） ４．タグの記載場所が違う（ただ、page-news、single-newsを作って
   表示してみるという 　　方法もやってみましたが、こちらもダメでした） ５．Toolset
   Types（プラグイン）と何かの相性が悪い 　　（ただ、advanced custom fieldsも使って
   みましたが、こちらもダメでした）
 * など、原因があると思うのですが、
    この場合、解決の糸口はどのように見つければよい
   ものでしょうか。
 * いろいろな参考サイトも拝見しつつ設定しているのですが、
    「カスタムフィールドの
   値は、ループ内にpost_customを記述して取得する」 と簡単な話だと考えていたので、
   まさかここまではまるとは思っておらず大変困っております。
 * もしかすると、カスタムフィールドに対する理解がそもそも間違っているのかもしれず、
   
   恐れ入りますがアドバイスいただけると嬉しいです。 稚拙な質問で申し訳ございません。
   よろしくお願いいたします。

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

 *  [jdbb](https://ja.wordpress.org/support/users/jdbb/)
 * (@jdbb)
 * [10年前](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%ae%e5%80%a4%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/#post-209006)
 * ループはどのように書かれましたか？
 * 管理画面のポストタイプがnewsの記事編集で
    「news_title」に「チョコレート」と入力
   する画面のアドレスを見ていただくと 後ろの方に「post=**xxx**&action=edit」と書
   いてあると思います。 この**xxxx**の部分の数字を覚えておいてlinamiaさんが書かれ
   た echo post_custom(‘wpcf-news_title’); の近くに var_dump(get_post_custom( **
   xxxx** )); と書いた場合に何が表示されますか？
 *  [munyagu](https://ja.wordpress.org/support/users/munyagu/)
 * (@munyagu)
 * [10年前](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%ae%e5%80%a4%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/#post-209011)
 * こんにちは
 * [@jdbb](https://ja.wordpress.org/support/users/jdbb/)のおっしゃるとおり、post_custom
   の引数は投稿のIDですのでIDを引数に指定する必要があります。
    その結果、全てのメタデータ
   を取得できますので、下記リンクのようにカスタムフィールドの値を取得できます。 
   [https://wpdocs.osdn.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_custom](https://wpdocs.osdn.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_custom)
 * また、Toolset Typesはカスタムフィールド値を直接取得するAPIが用意されています。
 * `echo　types_render_field('news_title', array());``
 * という感じです。
    リファレンスは以下にあります。 ちょっと分かりにくいリファレンス
   ですが。。。 [https://wp-types.com/documentation/functions/](https://wp-types.com/documentation/functions/)
 *  トピック投稿者 [linamia](https://ja.wordpress.org/support/users/linamia/)
 * (@linamia)
 * [10年前](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%ae%e5%80%a4%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/#post-209038)
 * ＞jdbb様
 * ご回答ありがとうございます！
 * 【ループ】
    index.phpの以下の箇所に挟んでいます。
 *     ```
       <?php
       			while ( have_posts() ) : the_post();
       // ここにコードを記載
       			endwhile;
       ```
   
 * 【バーダンプの結果】
    array(6) { [“_edit_last”]=> array(1) { [0]=> string(1) “
   1” } [“_edit_lock”]=> array(1) { [0]=> string(12) “1474091045:1” } [“_wp_old_slug”]
   => array(1) { [0]=> string(54) “%e3%83%86%e3%82%b9%e3%83%88%e3%81%a0%e3%82%88%
   e3%82%93” } [“wpcf-news_title”]=> array(1) { [0]=> string(18) “チョコレート” }[“
   wpcf-news_link”]=> array(1) { [0]=> string(7) “[http://&#8221](http://&#8221);}[“
   wpcf-news_day”]=> array(1) { [0]=> string(10) “1473984000” } }
 * 今さらですがバーダンプで確認すればよかったのですね…。
    こちらを見ると、値はきちんと
   入っているということでしょうか。
 * ちなみに、wpcf-news_linkには「http://」と入れていますので、出力結果はあってい
   ます。
    ただ、wpcf-news_dayには、日付を（2016年9月15日（だったはず）をカレンダー
   から選べるようにして入力しています） を入れているので、出力結果が不思議な感じ
   です。
 * ＞munyagu様
 * ご回答ありがとうございます！
 * 今日もいろいろ試していたのですが、たまたまなのか何なのかで、
    single-news.php
   のループ内に
 * echo get_post_meta($post->ID , ‘wpcf-news_title’ ,true);
 * と記載したところ、「チョコレート（意図した値）」を取得することができました！
 * ただ、教えていただいた
    echo　types_render_field(‘news_title’, array()); を挿入
   したところ、
 * Fatal error: Call to undefined function echo　types_render_field() in /home/users/
   0/（サーバ名）.jp-dp（数字）/web/wp/wp-content/themes/ドメイン名/single-news.
   php on line 22
 * と、挿入位置（２２行目）がエラーで返されてしまいました。
    もしかして、プラグイン
   がうまくインストールされていないのでプラグイン特有の記載が効かないなど そういう
   ことなのでしょうか。
 * この状況を踏まえまして、
    index.php と news-single.php に同じコード（echo get_post_meta(
   $post->ID , ‘wpcf-news_title’ ,true);）を記載しても
 * index.php→出力されない
    news-single.php→出力される
 * ということは、news-singleを作ることで、
    「loop内で繰り返す値（のグループのよう
   なもの）＝newsのグループ（のようなもの）からとってくださいね」 というのを、新規
   ファイル（news)を作ることで紐づけているということなのでしょうか？
 * おそらく基本的なところで何かわかっていない知識があるのだと思いますが、
    もし、
   このあたりのお話しが詳しく書いてあるようなサイトなどありましたら もっと勉強した
   いので、教えていただけると嬉しいです。
 * post_customについては、私が勘違いしていたようで、投稿記事のIDが引数なのですね。
   
   でもそうすると、記事IDを引数として手動で入力しなくてはならないということになる
   と思うので（違うかもしれませんが） フィールドスラッグを引数にできれば便利なの
   かな？　と考えているのですが、そういうものでもないのでしょうか。
 * 申し訳ございませんがどうぞよろしくお願いいたします。
 *  [jdbb](https://ja.wordpress.org/support/users/jdbb/)
 * (@jdbb)
 * [10年前](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%ae%e5%80%a4%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/#post-209040)
 * linamia様の書かれているループとはおそらくwordpressをインストールしたときにある
   「
   投稿」のループではないでしょうか？ ループ内で the_ID(); と記載すると、投稿ID（
   上で書いたxxxxの数字）が違う数字が出てくるのではないかと思います。
 * 普通の投稿ではなく、ポストタイプ　newsをループさせたい場合はfunctions.php内で
   pre_get_postsを使用するか
    [get_posts](https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_posts#.E7.94.A8.E4.BE.8B)
   でsetup_postdata を使用して$postを上書きする必要があります。
 * 私の場合ですが通常の投稿もindex.php内で使用する場合はget_postsを、
    ポストタイプ
   newsだけしかリスト表示させない場合はpre_get_postsをという感じで使い分けてます。
 * ※wpcf-news_dayの入っている値は[unixtime](http://php.net/manual/ja/function.time.php)
   の値かと思います。

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

 トピック「カスタムフィールドの値を表示できない」には新たに返信することはできません。

## タグ

 * [カスタムフィールド](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/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e6%8a%95%e7%a8%bf/)
 * [post_custom](https://ja.wordpress.org/support/topic-tag/post_custom/)
 * [Types](https://ja.wordpress.org/support/topic-tag/types/)

 * フォーラム: [使い方全般](https://ja.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 4件の返信
 * 3人の参加者
 * 最後の返信者: [jdbb](https://ja.wordpress.org/support/users/jdbb/)
 * 最後の活動: [10年前](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%ae%e5%80%a4%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/#post-209040)
 * 状態: サポート関連の質問ではありません

## トピック

### 人気のトピック

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

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

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

### 未解決のトピック

### すべてのトピック
