我发现其他几个帖子也在问同样的问题,但出于某种原因,我似乎无法找到适合我的解决方案。为了澄清,我希望有一个应用于帖子但不包含任何值的自定义字段,以便我可以设置一个模板帖子(在本例中为公文包项目),并简单地复制它,但在字段不适用的地方省略值,当然,如果没有值,我不希望显示相关的html。所以,我得到的是:
<?php $fbb_CurrentMetaSet = get_post_meta($post->ID, \'fbb_ProjectData_Process\', false);
if (!empty($fbb_CurrentMetaSet)){?>
<div id="fbb_ProjectData_Process" class="fbb_ProjectDataSetSection">
<div class="fbb_Title"><h5>Process:</h5></div>
<div>
<?php foreach($fbb_CurrentMetaSet as $fbb_MetaDataSingle){
echo \'<div>\'.$fbb_MetaDataSingle.\'</div>\';
}?>
</div>
</div>
<?php } ?>
如果我只检查自定义字段是否存在(if($fbb\\u CurrentMetaSet)),则此代码可以工作,但由于某些原因!empty()方法无效。有人能解释为什么吗?仅供参考,我正在使用最新的wordpress和x主题。可能是更大的上下文产生了一个解释,所以下面我粘贴了整个相关代码集。我的测试代码可以在最后一节中找到。一旦我让它工作起来,我打算将其复制到上面的类似部分:
<div id="fbb_ProjectDataWrap">
<div id="fbb_ProjectData_Client" class="fbb_ProjectDataSetSection">
<div class="fbb_Title"><h5>Client:</h5></div>
<ul>
<?php $fbb_CurrentMetaSet = get_post_meta($post->ID, \'fbb_ProjectData_Client\', false);?>
<?phpforeach($fbb_CurrentMetaSet as $fbb_MetaDataSingle){
echo \'<li>\'.$fbb_MetaDataSingle.\'</li>\';
}
}?>
</ul>
</div>
<div id="fbb_ProjectData_Tools" class="fbb_ProjectDataSetSection">
<div class="fbb_Title"><h5>Tools:</h5></div>
<ul>
<?php $fbb_CurrentMetaSet = get_post_meta($post->ID, \'fbb_ProjectData_Tools\', false); ?>
<?php foreach($fbb_CurrentMetaSet as $fbb_MetaDataSingle){
echo \'<li>\'.$fbb_MetaDataSingle.\'</li>\';
} ?>
</ul>
</div>
<div id="fbb_ProjectData_About" class="fbb_ProjectDataSetSection">
<div class="fbb_Title"><h5>About:</h5></div>
<div>
<?php $fbb_CurrentMetaSet = get_post_meta($post->ID, \'fbb_ProjectData_AboutTheProject\', false); ?>
<?php foreach($fbb_CurrentMetaSet as $fbb_MetaDataSingle){
echo \'<div>\'.$fbb_MetaDataSingle.\'</div>\';
} ?>
</div>
</div>
<?php $fbb_CurrentMetaSet = get_post_meta($post->ID, \'fbb_ProjectData_Process\', false);
if (!empty($fbb_CurrentMetaSet)){?>
<div id="fbb_ProjectData_Process" class="fbb_ProjectDataSetSection">
<div class="fbb_Title"><h5>Process:</h5></div>
<div>
<?php foreach($fbb_CurrentMetaSet as $fbb_MetaDataSingle){
echo \'<div>\'.$fbb_MetaDataSingle.\'</div>\';
}?>
</div>
</div>
<?php } ?>
</div>