刚刚把老博客的文章导入到新博客的数据库,这样就完成了博客重生时的承诺,最主要是看到数据库里之前博客的文字,莫名的怀旧。
把之前的文章在数据库里归到了一个栏目里,然后决定将栏目隐藏,在网上看了很多个wordpress首页不显示某个栏目文章的方法,但是都有一些缺陷。
比如说:
if (have_posts()) 或 while (have_posts())
在下面添加:
<?php if (in_category('42') && is_home()) continue; ?>
这个栏目的文章是在首页不显示了,但是分页却出卖了文章的数量,显示的是实际的文章数量的分页。
还有处理index 文件中的if (have_posts()) 或 while (have_posts()) ,在前面 添加:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
// 不想显示的分类ID,多个用半角逗号隔开
'category__not_in' => array(42),
'paged' => $paged
);
query_posts($args);
但这样处理后,这个栏目页直接无法访问了,海天还是想要可以通过栏目页来手动浏览的。并且发现有的主题的 tags 的栏目页面也会出现归档错误的问题。
最后找到这个办法,目前是完美解决了wordpress首页不显示某个栏目文章的问题,而且上面说的几个不足都没有出现。
在主题下的functions.php中添加下面的代码即可。
function ex_cat_on_homepage( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', -985 );
}
}
add_action( 'pre_get_posts', 'ex_cat_on_homepage' );