在unctions.php中获取当前帖子ID

时间:2017-02-22 作者:CaraMar

我需要将当前的post ID放入函数中的数组中。php。

function filter_query(  $query ) {
    $query[\'post__not_in\'] = array(7);
    return $query;
}
add_filter(\'wpc_query\', \'filter_query\', 1 );
get_the_ID();global $post; $id = $post->ID; 由于某些原因没有起作用。

1 个回复
最合适的回答,由SO网友:nibnut 整理而成

我相信这在任何情况下都应该有效——无论你是否在循环中。(在小部件中,您很可能不在循环中)

请注意,在循环之外,这将在单个页面或帖子上非常有效,但可能不会在其他类型的页面上显示所需的帖子。(主页、分类页等)在这些情况下,您可能希望添加一个条件,使用WordPress\'is_singular 作用

无论如何,下面是您的代码的修订版本:

function filter_query( $query ) {
    if(in_the_loop()) $post_id = get_the_ID();
    else $post_id = get_queried_object_id();
    if($post_id) {
        if(empty($query[\'post__not_in\'])) $query[\'post__not_in\'] = array(); // that way if someone else already has stuff in $query[\'post__not_in\'], we won\'t override it but append to it...
        $query[\'post__not_in\'][] = $post_id;
    }
    return $query;
}
add_filter(\'wpc_query\', \'filter_query\', 1 );
希望这有帮助!

相关推荐

Shortcode to pull posts

我需要一些帮助。我创建了一个短代码来引入帖子,然后使用ajax加载更多帖子。我的一切都正常,但它复制了第一组帖子。下面是我的代码。这是shortcode函数:add_shortcode( \'articles-grid\', \'articles_grid\' ); function articles_grid( $atts ) { $showdate = $showauthor = $post_meta = $post_author = $post_seperator