以下代码在我的主页上输出6个事件。它似乎是通过帖子ID选择6。我想更改此内容,以便只有在帖子中添加名为 HOMEPAGE 的自定义属性时才会在主页上显示帖子。
我该怎么做?
<?php if(is_front_page()): ?>
<div id="eventBoxes">
<ul>
<?php $vReturn = eme_get_events_list('limit=6'); ?>
<?php
$vReturn = explode("</li>",$vReturn);
foreach($vReturn as $item) {
if(strpos($item,'<div id="homepage">yes</div>') !== false) {
echo $item;
}
}
?>
</ul>
<br class="clear" />
<?php else: ?>
<div id="content">
<?php echo the_content(); ?>
</div>
<?php endif; ?>
提前致谢。
编辑:我想将限制保留在6个帖子中。答案 0 :(得分:0)
尝试类似的内容:
<?php if(is_front_page()): ?>
<div id="eventBoxes">
<?php if(isset($_POST['YOUR_POST_PARAMETER']) && $_POST['YOUR_POST_PARAMETER'] == 'YOUR_POST_PARAM_VALUE') : ?>
<ul>
<?php $vReturn = eme_get_events_list('limit=6'); ?>
<?php
$vReturn = explode("</li>",$vReturn);
foreach($vReturn as $item) {
if(strpos($item,'<div id="homepage">yes</div>') !== false) {
echo $item;
}
}
?>
</ul>
<?php endif; ?>
<br class="clear" />
<?php else: ?>
<div id="content">
<?php echo the_content(); ?>
</div>
<?php endif; ?>
检查<ul>
中是否有要列出的项目也是一个好习惯 - 如果没有,那么您将在HTML中写一个空的<ul></ul>
,这会导致HTML无效。尝试在返回的数组上使用count()
,如果是> 0
则写<ul> <?php ... your code here ... ?> </ul>
答案 1 :(得分:0)
HOMEPAGE属性是否为后元值?如果是这样,您需要使用get_post_meta功能。
要检查帖子是否具有HOMEPAGE自定义属性,您可以执行以下操作:
$homepage = get_post_meta(the_id);
if (!empty($homepage)){
// you've found a post with a valid home page attribute.
}
HTH