You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求WordPress创建分类时自动生成指定子分类的完美解决方案

WordPress创建指定分类时自动生成子分类的实现方案

核心思路

利用WordPress的created_term动作钩子,在分类创建完成后,判断当前分类是否属于预设的目标分类(如cricket、football),若是则自动调用wp_insert_term函数创建featured子分类。

具体实现步骤

1. 代码部署位置

你可以选择两种方式部署代码:

  • 主题functions.php:适合临时测试,但主题更新后代码可能丢失
  • 自定义插件:推荐方式,代码独立于主题,不会因主题变更失效

2. 核心代码实现

add_action('created_term', 'auto_add_featured_subcategory', 10, 3);

function auto_add_featured_subcategory($term_id, $tt_id, $taxonomy) {
    // 仅对文章分类(category)生效,如需其他分类法可修改此处
    if ($taxonomy !== 'category') {
        return;
    }

    // 获取刚创建的父分类对象
    $parent_term = get_term($term_id, $taxonomy);
    $parent_slug = $parent_term->slug;

    // 定义需要自动生成子分类的父分类slug列表
    $target_parents = ['cricket', 'football'];

    // 判断当前父分类是否在目标列表内
    if (in_array($parent_slug, $target_parents)) {
        // 检查子分类是否已存在,避免重复创建
        $existing_subterm = term_exists('featured', $taxonomy, $term_id);
        if (!$existing_subterm) {
            // 创建featured子分类
            wp_insert_term(
                'Featured', // 子分类名称
                $taxonomy,
                [
                    'slug' => 'featured',
                    'parent' => $term_id,
                    'description' => '精选内容分类 - ' . $parent_term->name
                ]
            );
        }
    }
}

3. 自定义插件部署方法(推荐)

新建一个PHP文件(如auto-featured-subcat.php),添加以下插件头部信息后,将核心代码粘贴进去:

<?php
/*
Plugin Name: 自动添加精选子分类
Description: 创建指定父分类时自动生成对应的featured子分类
Version: 1.0
Author: 自定义
*/

将文件上传到WordPress的wp-content/plugins/目录,然后在后台插件管理页面启用该插件即可。

注意事项

  • 如需添加更多需要自动生成子分类的父分类,只需在$target_parents数组中添加对应分类的slug
  • 代码中加入了term_exists判断,避免重复创建同名子分类
  • 确保操作账号拥有创建分类的权限(管理员权限默认满足)
  • 测试时,创建cricket或football分类后,可在分类列表中查看是否自动生成了Featured子分类

内容的提问来源于stack exchange,提问作者Priyadarshini Mohanty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:15:24