値がない場合、カスタム フィールドの表示を非表示にしようとしています。それらをthe_metaで表示すると、カスタム フィールドに値があるかどうかに関係なく、ヘッダーが表示されます。
次の html を生成します。
<ul class="post-meta">
<li>
<span class="post-meta-key">My Custom Field Title</span>
</li>
<li>
</ul>
コンテンツがない場合、ページにタイトルを付けたくありません。だから私は試しました:
<?php
$ck = get_post_custom_keys($post_id); //Array
foreach ($ck as $k) {
$cv = get_post_custom_values($k, $post_id ); //Array
foreach ($cv as $c) {
echo (' - ');
echo ($c);
}
}
?>
$c (投稿に適用されるカスタム値) のエコーは次のようになります。
値なし:
- 1 - 1343633746:1 - - field_5014a45c9a2df - field_5014a48c38f9d - - field_5014a48c2cc82
値を使用:
- 1 - 1343603999:1 - 卵 3 カップ - field_5014a45c9a2df - field_5014a48c38f9d - 小麦粉 2 カップ - field_5014a48c2cc82
これはおそらく長い道のりです。テストのために入力した 2 つのフィールドだけでなく、「最後の編集」などの値も表示されます。
値がある場合にのみカスタム フィールドを表示するにはどうすればよいですか? 私はテーマを書いているので、事前にフィールドの名前や数がわかりません。
ありがとう!