仅在应用属性时显示帖子

时间:2012-01-31 00:56:17

标签: php wordpress

以下代码在我的主页上输出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个帖子中。

2 个答案:

答案 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