如果排除了一个类别,则多个类别中的帖子不包括在上一篇/下一篇帖子中

时间:2013-08-08 作者:Paul Brown

我已经读了下面的帖子,它似乎解决了我的问题,但没有。。。

excluded_categories parameter in next_post_link() behaving unexpectedly

我有3个类别的帖子,但如果它们包含在类别“更新”(ID 96)中,我希望它们从上一个/下一个导航系统中排除。在上面的帖子中,我编辑了以下代码(这都在我的functions.php文件中,因为single.php模板需要从那里进行导航)。

<?php previous_post_link( \'<li class="previous">%link</li>\', \'<span class="meta-nav">\' . _x( \'&larr;\', \'Previous post link\', \'reboot\' ) . \'</span> %title\', FALSE, prev_next_dont_include( array( 96 ) ) ); ?>
并添加了以下代码。。。

function prev_next_dont_include( $ids ) {
foreach ( get_categories() as $category ) : // loop thru all WP cats
    if ( !in_array( $category->cat_ID, $ids ) ) : // check if cat id is in $ids
        $categories[] = $category->cat_ID; // build list of real excluded ids
    endif;
endforeach; 
return implode( \' and \', $categories ); // "1 and 2 and 5 and 7 and 16 and 23"
}
现在,当我转到我的导航,而不是排除类别96,它只包括类别96中的所有帖子-这些帖子也可以包括在其他类别中。它不包括所有不属于96类的职位?有人能帮忙吗?

1 个回复
SO网友:Paul Brown

我不确定这是否是严格意义上的答案,但我找到了一个插件,它仍然意味着我需要编辑我的函数。php文件,对于我想要的东西来说可能有些过头了,但它解决了这个问题,我将上面的代码完全合并了。

结束

相关推荐

Extracting post categories

我正在帮助一位同事重新配置Wordpress数据库,以便在其他平台上使用。数据库基本上是关于所有帖子和附带元数据等的详细信息。我一直坚持的一件事是确定如何将每个帖子与其Wordpress类别关联起来。基本上,我希望能够将每个帖子及其对应的类别提取到电子表格中,要做到这一点,我显然需要知道它们在表格中的关系。有人能给我指出正确的方向吗?如有任何帮助,我们将不胜感激。非常感谢。