Wordpress post__not_in()函数不排除小部件数组中的当前帖子

时间:2013-07-09 00:13:18

标签: php wordpress widget

这是一个带有主题的小部件,它不会从侧边栏中排除列表项。这将从同一地区提取3个房地产列表。 但是它无法排除当前项目。

post__not_in()一定是个问题,但我没有看到问题。有人知道这个功能吗?

function listingsInSameAreaWidget() { ?>

<aside id="other-listings-in-same-area" class="widget left">
<h4><?php _e('Other Listings in Same Area', 'theme_textdomain'); ?></h4>
<ul id="newlistings">
<?php
$author = get_the_author_meta('ID');
$city = get_the_term_list(ID, 'city');
$post_id = get_post($post->ID)->ID;
$args = array(
    'post_type' => 'listings',
    'city' => $city,
    'post__not_in' =>$post->ID,
    'posts_per_page' => 3
);

//query_posts($args);
query_posts( array(
    'post_type' => 'listings',
    'city' => $city,
    'post__not_in' =>$post->ID,
    'posts_per_page' => 3, )

);  
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> 
    <li>
        <?php ct_status_sm(); ?>
        <?php ct_first_image_tn_left(); ?>
        <h5><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h5>
        <p class="location"><?php city_and_state(); ?></p>
        <p class="propinfo"><?php beds(); ?> <?php _e('Bed', 'theme_textdomain'); ?>, <?php baths(); ?> <?php _e('Bath', 'theme_textdomain'); ?></p>
        <div class="clear"></div>
    </li> 
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
</ul>
</aside>

<?php
}

register_sidebar_widget('Other Listings in Same Area', 'listingsInSameAreaWidget');

2 个答案:

答案 0 :(得分:11)

好的,我找到了解决方案。 id没有传递给小部件:

'post__not_in' => array (get_the_ID()),

答案 1 :(得分:6)

它应该是array

'post__not_in' => array($post->ID)