0
我正在使用the_meta()
来显示自定义字段结果。我的目标是在content-box div中显示值/结果。在上下文框中显示自定义字段
<div class="content-box">
<?php the_meta(); ?> </div>
这适用于后与自定义字段,但随后也显示在其他页面空白框没有自定义字段为好。
如何仅在具有自定义字段的页面上显示这些内容框?
我正在使用the_meta()
来显示自定义字段结果。我的目标是在content-box div中显示值/结果。在上下文框中显示自定义字段
<div class="content-box">
<?php the_meta(); ?> </div>
这适用于后与自定义字段,但随后也显示在其他页面空白框没有自定义字段为好。
如何仅在具有自定义字段的页面上显示这些内容框?
您可以使用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(); ?>
试过代码,但可惜还是返回网页上的空白内容框没有自定义字段 – user1690014 2013-05-11 19:49:09
在某些情况下,有隐藏的自定义字段,其中有钥匙开始'_' – diggy 2013-05-11 19:52:54
Jeez谢谢 - 现在开始有点太技术了... – user1690014 2013-05-11 19:59:22