返回

如何隐藏 WordPress 文章分类列表中的特定分类?

php

隐藏 WordPress 文章分类列表中的特定分类

简介

在 WordPress 博客中,特定的分类可能用于内部工作流程,而不是公开显示。这篇文章将指导你如何使用代码隐藏这些分类,从而改善文章页面的外观和管理工作流程。

问题:分类列表中的不需要的分类

某些情况下,分类可能仅用于组织目的,而无需在文章页面上显示。这会导致分类列表杂乱和冗余。

解决方案:使用代码过滤分类

可以通过修改 WordPress 代码来解决此问题。代码段将过滤分类列表,只显示你想要公开的分类。

代码片段

function hide_specific_categories_from_category_list($post_id) {
    // 需要隐藏的分类 ID(用逗号分隔)
    $excluded_categories = array(1, 3, 5);

    $categories = get_the_category($post_id);

    // 过滤掉需要隐藏的分类
    $filtered_categories = array_filter($categories, function ($category) use ($excluded_categories) {
        return !in_array($category->term_id, $excluded_categories);
    });

    // 重新设置分类列表(过滤后)
    wp_set_post_categories($post_id, wp_list_pluck($filtered_categories, 'term_id'));
}
add_action('save_post', 'hide_specific_categories_from_category_list');

用法

将代码段添加到 functions.php 文件或自定义插件中。指定要隐藏的分类 ID,用逗号分隔并替换 $excluded_categories 数组。

步骤

  1. 打开 functions.php 文件。
  2. 复制并粘贴代码段。
  3. 修改 $excluded_categories 数组以指定要隐藏的分类 ID。
  4. 保存文件。

效果

保存代码后,特定分类将从文章页面的分类列表中隐藏。

优点

  • 减少分类列表中的冗余和杂乱。
  • 改善文章页面的外观。
  • 提高工作流程的效率(隐藏内部分类)。

常见问题解答

  1. 这个代码段是否适用于所有 WordPress 主题?

    • 是的,只要你使用 WordPress 5.0 或更高版本,它就可以在任何主题中使用。
  2. 我可以一次隐藏多个分类吗?

    • 是的,在 $excluded_categories 数组中指定多个分类 ID,用逗号分隔。
  3. 这个代码段是否会影响分类法?

    • 不会,它只会过滤文章页面的分类列表。分类法本身不会受到影响。
  4. 如果我想要重新显示隐藏的分类,我该如何操作?

    • $excluded_categories 数组中删除分类 ID,然后保存更改。
  5. 这个代码段是否可以用来过滤文章的标签?

    • 不,此代码段专门用于过滤分类。标签需要不同的代码段。

结论

隐藏 WordPress 分类列表中的特定分类可以改善用户体验和工作流程效率。通过遵循本文中的步骤,你可以轻松地实现这一目标。如果您有任何疑问或遇到问题,欢迎随时发表评论或联系专业人士。