WordPress新用户注册时自动创建同名分类的代码需求
WordPress新用户注册自动创建同名分类解决方案
以下是完整实现代码,可直接添加到当前主题的functions.php文件或自定义插件中:
add_action('user_register', 'create_taxonomy_name_user'); function create_taxonomy_name_user( $user_id ) { // 获取注册用户对象 $user = get_user_by('id', $user_id); if (!$user) return; $username = $user->user_login; // 转换用户名为合法的分类别名,避免特殊字符冲突 $category_slug = sanitize_title($username); // 检查同名分类是否已存在 $existing_category = get_term_by('slug', $category_slug, 'category'); if (!$existing_category) { // 创建用户专属分类 wp_insert_term( $username, 'category', // 若需自定义分类法,替换为你的分类法名称 array( 'slug' => $category_slug, 'description' => '自动创建的用户专属分类,归属用户:' . $username ) ); } }
注意事项
- 代码中默认创建的是WordPress默认文章分类(
category),如果需要创建自定义分类法,只需将'category'替换为你的自定义分类法标识 sanitize_title()函数会自动处理用户名中的特殊字符,生成符合URL规范的分类别名- 内置分类存在检查逻辑,避免重复创建相同分类
内容的提问来源于stack exchange,提问作者Denis
相关产品推荐
相关产品推荐

