当前位置:首页 > 行业动态 > 正文

如何在WordPress首页选择性展示或隐藏特定分类的文章?

要在WordPress首页指定或排除某分类文章显示,可以通过修改主题的 functions.php文件或使用插件来实现。具体操作方法取决于你的主题和需求。

WordPress中指定或排除某分类文章显示

简介

WordPress是一个非常灵活的内容管理系统(CMS),它允许用户通过不同的方法来控制首页上显示的文章,有时,您可能希望首页只展示特定分类的文章,或者排除某些分类的文章,以下是一些实现这一目标的方法。

方法一:使用插件

插件推荐:

Ultimate Category Excluder:允许您从多个位置排除特定分类的文章。

Yet Another Related Posts Plugin (YARPP):可以用来在文章末尾显示相关的文章,同时可以设置排除的分类。

操作步骤:

1、安装并激活所选插件。

2、根据插件提供的设置选项进行配置,选择要排除或包含的分类。

3、保存设置并查看首页变化。

方法二:自定义代码

如果您更倾向于不使用插件,可以通过编辑主题文件来实现,这需要一些PHP知识和对WordPress模板文件的理解。

编辑functions.php

1、打开主题文件夹中的functions.php文件。

2、添加以下函数来修改查询,排除或指定分类:

function exclude_category($query) {
    if ($query>is_home) {
        $query>set('cat', '排除的分类ID'); // 排除指定分类
        //$query>set('cat', '指定的分类ID'); // 仅显示指定分类
    }
    return $query;
}
add_filter('pre_get_posts', 'exclude_category');

3、替换排除的分类ID指定的分类ID为您的实际分类ID。

4、保存文件并刷新首页查看效果。

编辑index.phpfrontpage.php

1、找到主题文件夹中的index.phpfrontpage.php文件。

2、定位到The Loop部分,这是控制文章输出的部分。

3、手动编写查询以排除或包括特定的分类:

<?php
$args = array(
    'category__not_in' => array(排除的分类ID), // 排除指定分类
    //'category_in' => array(指定的分类ID), // 仅显示指定分类
);
$the_query = new WP_Query( $args );
if ( $the_query>have_posts() ) : while ( $the_query>have_posts() ) : $the_query>the_post();
    // 正常循环输出文章
endwhile; endif;
wp_reset_postdata();
?>

4、同样地,将排除的分类ID指定的分类ID替换为实际值。

5、保存文件并刷新首页查看效果。

注意事项

在进行任何文件编辑之前,请确保备份您的网站。

如果不熟悉PHP或WordPress开发,建议使用插件方法以避免潜在的错误。

修改主题文件可能会在更新主题时被覆盖,所以请考虑使用子主题。

相关问题与解答

Q1: 如何确定我的分类ID?

A1: 你可以通过访问WordPress后台的“文章”>“分类目录”,将鼠标悬停在分类名称上,浏览器底部的状态栏会显示类似于https://yourwebsite.com/wpadmin/term.php?taxonomy=category&tag_ID=1&post_type=post的URL,其中tag_ID=1中的“1”即为分类ID。

Q2: 使用自定义代码会影响网站性能吗?

A2: 合理使用的自定义代码对网站性能的影响是微乎其微的,但如果代码编写不当,比如造成数据库查询过多,就可能影响性能,确保代码优化并且只在必要时才进行查询是很重要的。

0