get_post_custom_keys
メタがある (またはない) かどうかを確認するために使用できます。
<?php
if ( get_post_custom_keys() ) {
echo '<div class="content-box">';
the_meta();
echo '</div>';
}
?>
または、非表示のメタ値の問題 (コメントを参照) に対処するために、独自のメタ関数をロールすることができます。functions.php
テーマのファイルに次を入れます。
function so16500287_the_meta() {
if ( $keys = get_post_custom_keys() ) {
$array = array();
foreach ( (array) $keys as $key ) {
$keyt = trim($key);
if ( is_protected_meta( $keyt, 'post' ) )
continue;
$values = array_map('trim', get_post_custom_values($key));
$value = implode($values,', ');
$array[] = apply_filters('the_meta_key', "<li><span class='post-meta-key'>$key:</span> $value</li>\n", $key, $value);
}
if( ! empty( $array ) ) {
echo "<div class='content-box'><ul class='post-meta'>\n";
foreach( $array as $item )
echo $item;
echo "</ul></div>\n";
}
}
}
テンプレートで次のように呼び出します。
<?php so16500287_the_meta(); ?>