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


Wordpress post__not_in() function not excluding current post in widget array

这是一个带有主题的小部件,它并没有从侧边栏中排除列表项。这从同一地区拉来了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');

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

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

它应该是array

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