跳到主要内容

您是否曾经想从WordPress主页或博客存档页面隐藏博客文章?

尽管您可以将WordPress帖子设置为受密码保护或不公开,但在某些情况下,您可能只想隐藏主页中的帖子,同时如果其他人具有直接链接,则仍然允许他们查看它。

在本文中,我们将向您展示如何隐藏WordPress中选定页面的帖子,例如首页,类别档案,搜索结果等。

如何在wordpress中从首页隐藏帖子
如何在wordpress中从首页隐藏帖子

方法1.使用插件从主页隐藏WordPress帖子

此方法更简单,建议初学者使用。

您需要做的第一件事是安装并激活WordPress Hide Posts插件。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。

激活插件后,继续编辑您要隐藏的帖子。您会在编辑器的右栏中看到一个新的“隐藏帖子”部分。

使用插件从主页隐藏wordpress帖子
使用插件从主页隐藏wordpress帖子

单击它会显示插件选项。您可以在首页和博客页面,类别或标签页面,作者页面以及站点搜索结果中隐藏帖子。

只需选择您喜欢的选项,然后保存您的帖子。

现在,根据您选择的选项,您可以访问这些页面,并且该特定帖子不会列出。

具有直接发布URL(permalink)的所有用户仍然可以通过输入URL来查看它。

尽管此方法最简单,但缺少几个强大的选项。

例如,您不能隐藏页面或自定义帖子类型,如WooCommerce产品。它也没有从WordPress RSS feed中隐藏帖子的选项。

方法2。手动隐藏WordPress帖子和页面

此方法要求您将代码添加到WordPress网站。如果您以前没有这样做,请参阅有关如何在WordPress中复制和粘贴代码段的指南。

WordPress使用数据库查询来获取和显示基于用户正在查看的页面的帖子。它还提供内置的挂钩,以在运行查询之前修改查询。

我们将使用这些钩子来修改WordPress查询,并在不同部分中隐藏WordPress帖子,页面和自定义帖子类型。

您可以使用代码段插件添加自定义代码,该插件更安全且不会破坏您的网站。或者,您可以将自定义代码添加到主题的functions.php文件或特定于站点的插件中。

您还将需要您要隐藏的帖子或页面的ID。我们有一个关于如何在WordPress中查找帖子ID的快速教程,其中显示了如何获取此信息。

基本上,您只需编辑帖子或页面即可在浏览器的地址栏中查看其ID。

手动隐藏wordpress帖子和页面
手动隐藏wordpress帖子和页面

话虽如此,让我们深入研究代码部分。

从首页隐藏WordPress帖子或页面

以下代码使用is_home()条件标记来确定用户是否正在查看主页。如果它们是,那么它将从查询中排除帖子ID。

function wpb_exclude_from_home($query) {      if ($query->is_home() ) {          $query->set('post__not_in', array(1737, 1718));      }}add_action('pre_get_posts', 'wpb_exclude_from_home');

不要忘记用要排除的帖子或页面的实际ID替换数组中的ID。

从RSS Feed隐藏WordPress帖子或页面

如果要隐藏主页以及WordPress RSS feed上的WordPress帖子,则只需在代码中使用is_feed条件标签即可。

function wpb_exclude_from_feed($query) {      if ($query->is_feed() ) {          $query->set('post__not_in', array(1737, 1718));      }}add_action('pre_get_posts', 'wpb_exclude_from_feed');

现在,如果您以管理员身份登录并尝试访问WordPress RSS feed,那么您仍将在此处看到列出的帖子。其他用户在查看您的RSS feed时将看不到被排除的帖子。

从站点搜索隐藏WordPress帖子或页面

现在,如果要隐藏WordPress网站搜索中的特定帖子怎么办?为此,您只需要在代码中添加is_search条件标签即可。

function wpb_exclude_from_search($query) {      if ( $query->is_search() ) {          $query->set('post__not_in', array(1737, 1718));      }}add_action('pre_get_posts', 'wpb_exclude_from_search');

现在,您可以访问您的网站并搜索要隐藏的帖子。即使这些帖子是公开的,它们也不会出现在搜索结果中。

隐藏档案中的WordPress帖子或页面

如何从类别,标签和日期档案等档案页面隐藏特定的WordPress帖子或页面?为此,我们将使用is_archive()条件标记。

function wpb_exclude_from_archives($query) {      if ( $query->is_archive() ) {          $query->set('post__not_in', array(1737, 1718));      }}add_action('pre_get_posts', 'wpb_exclude_from_archives');

从任何地方隐藏WordPress帖子或页面

到目前为止,我们已经了解了如何从特定区域隐藏WordPress帖子或页面。现在,如何一次将所有这些区域的WordPress帖子完全隐藏?

为此,您可以将我们之前使用的所有条件标签合并到一个代码段中。

function wpb_exclude_from_everywhere($query) {      if ( $query->is_home() || $query->is_feed() ||  $query->is_search() || $query->is_archive() ) {          $query->set('post__not_in', array(1737, 1718));      }}add_action('pre_get_posts', 'wpb_exclude_from_everywhere');

此代码将从首页,RSS feed,搜索结果和存档页面隐藏给定的帖子。

在WordPress中控制内容可见性

您可以使用上述两种方法隐藏WordPress帖子或页面。让我们回答有关WordPress中内容可见性控制选项的一些最常见问题。

这些方法是否完美地隐藏了内容?

不,他们没有。

例如,搜索引擎可能已经对帖子进行了爬网并建立了索引,然后才能将其隐藏。如果您想防止搜索引擎,请参阅有关如何从Google隐藏WordPress页面的指南。

如果WordPress插件使用自定义查询会跳过您的检查并显示您要隐藏的内容,那么这也将不起作用。

更好的方法是用密码保护帖子,以便只有拥有密码的用户才能查看它。

您还可以创建一个私人帖子,该帖子仅对您网站上的管理员,编辑和作者可见。

我可以使用这些方法为特定用户创建内容吗?

不可以,这些方法不允许您与特定用户有效地共享内容。更好的方法是使用WordPress会员插件。

像MemberPress这样的会员插件允许您创建和发布受限制的内容。您甚至可以出售订阅计划以访问高级内容。

有关更多详细信息,请参阅有关如何创建WordPress会员网站的指南,并提供分步说明。

回到顶部