从后期查询中排除类别

时间:2011-11-29 作者:Nick

我毫无头绪地问了这个问题。我用下面的代码得到了答案。当我得到它时,它起了作用。我只测试了衬衫,假设它对其他猫有效。连帽衫不起作用。为什么?idk。画廊仍然隐藏在博客帖子中。有人知道为什么吗?

<?php
$gallery = get_cat_id(\'gallery\');
$shirts = get_cat_id(\'shirts\');
$hoodies = get_cat_id(\'hoodies\');
$excluded_cats = \'-\'.$gallery.\',-\'.$shirts.\',-\'.$hoodies;
$limit = 5;
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
query_posts( \'cat=\' . $excluded_cats . \'showposts=\' . $limit . \'&paged=\' . $paged );
$wp_query->is_category = true; $wp_query->is_home = false;
?>

http://threefourink.com/threefoursite/blog/

我刚刚还意识到它显示了所有的帖子,而不是5美元的限额

非常感谢您的帮助!

4 个回复
SO网友:Joshua Abenazer

您错过了一个& 在查询中显示帖子之前。此外,还取消了showposts的种族歧视。请尝试改用posts\\u per\\u页面。

<?php
$gallery = get_cat_id(\'gallery\');
$shirts = get_cat_id(\'shirts\');
$hoodies = get_cat_id(\'hoodies\');
$excluded_cats = \'-\'.$gallery.\',-\'.$shirts.\',-\'.$hoodies;
$limit = 5;
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
query_posts( \'cat=\' . $excluded_cats . \'&posts_per_page=\' . $limit . \'&paged=\' . $paged );
$wp_query->is_category = true; $wp_query->is_home = false;
?>

SO网友:Ciprian

这是我在主页上排除类别的方式:

            <?php if ( is_home() ) { query_posts($query_string . \'&cat=-10,-5,-3\'); }?>

SO网友:t31os

您可以完全避免在parse_query 相反

add_action( \'parse_query\', \'wpse_35077_cat_excluder\' );

function wpse_35077_cat_excluder( $query ) {

    // Empty when it\'s the post posttype
    if( !empty( $query->query_vars[\'post_type\'] ) )
        return;

    if( is_home() )
        // 1, 2 and 3 represent example category IDs to exclude posts from
        set_query_var(\'category__not_in\', array( 1, 2, 3 ) );
}
如果您需要它在首页而不是主页上工作,只需更换is_home() 具有is_front_page().

NOTE: 粘贴的帖子会忽略类别排除。

SO网友:S kumar

嘿,在你的代码中检查它,不知道可能有空格,或者可能有拼写错误。以上代码将在所有角度上完美工作。

结束

相关推荐

User level categories

我正在使用ClassiPress创建一种不同类型的列表分类广告。我将手动选择谁可以订阅或不订阅(仅限宗教机构的领导人类型)。我有四个类别。其中两个需要随时提供给每个人(浏览)。这四个将提供给领导者。领导者将能够在所有四个类别中发布,并且他们将能够查看/发布所有四个类别。But 主要公众只会看到两个。我该怎么办?我可以将需要登录的两个类别设置为php条件行。我在这里看到了类似的解决方案How to block a category from one user and enable the category