web-dev-qa-db-ja.com

カスタムフィールドの値をページに表示する方法

字幕、価格、スクリーンショット、ダウンロードリンクなどのさまざまなカスタムフィールドが含まれる「ソフトウェア」と呼ばれるカスタム投稿タイプがあります。これらのカスタムフィールドの一部にtinyMCE編集ウィンドウを使用できるようにする関数を作成しました。これらのフィールドをページに表示しようとしましたが、成功しませんでした。

私が使っている方法はこれです:

<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>

ページへのリンクです

ページの<hr/>の下に、作成されたすべてのメタのリストがあります。表示されるフィールドの1つだけが、奇妙な理由で「価格」です。

私が見逃しているものについて誰かが何か考えがありますか?

15
dvmac01

まあ、あなたは使っている:

get_post_meta(get_the_ID(), 'subtitle', TRUE);

だから、あなたは 'subtitle'フィールドのメタ値を得るためにWordpressに言っていて、戻り値は文字列のフォーマットであると言っています。 get_post_meta()docu を参照してください。

投稿のすべてのメタデータを取得するには、代わりに get_post_custom() functionを使用してください。たとえば、ループの内側にいるとします。

$custom = get_post_custom();
foreach($custom as $key => $value) {
     echo $key.': '.$value.'<br />';
}

これは投稿のすべてのメタデータを返します。たとえば、 "price"メタフィールドを確認したい場合は、

if(isset($custom['price'])) {
    echo 'Price: '.$custom['price'];
}
15
cybmeta

あなたの問題を解決するためにこのコードを使ってください。

$key_name = get_post_custom_values($key = 'Key Name');
echo $key_name[0];
2
prempal sharma