创建类别后获取类别ID-wordpress

创建类别后获取类别ID-wordpress,wordpress,function,categories,Wordpress,Function,Categories,当我的Wordpress主题被激活时,我在functions.php文件中创建了两个类别,如下所示: /** * @desc Create categories on theme activation **/ function create_my_cat () { if (file_exists (ABSPATH.'/wp-admin/includes/taxonomy.php')) { require_once (ABSPATH.'/wp-admin/includes/taxono

当我的Wordpress主题被激活时,我在
functions.php
文件中创建了两个类别,如下所示:

/**
 * @desc Create categories on theme activation
 **/
function create_my_cat () {
if (file_exists (ABSPATH.'/wp-admin/includes/taxonomy.php')) {
    require_once (ABSPATH.'/wp-admin/includes/taxonomy.php'); 
    if ( ! get_cat_ID( 'Work' ) ) {
        wp_create_category( 'Work' );
    }
    if ( ! get_cat_ID( 'Blog' ) ) {
        wp_create_category( 'Blog' );
    }
}
}
add_action ( 'after_setup_theme', 'create_my_cat' );
如果这两个类别有效且博客不存在,则创建它们,但如果它们确实存在,则不执行任何操作

创建这两个新类别时/如果它们已经存在,我如何获取它们的ID?如果可能的话,我需要将它们存储为两个单独的变量($work&$blog),这样我就可以在同一个文件中重用它们。

来自wordpress

  • 失败时返回0,成功时返回类别id
  • 如果类别已存在,则不会重复。服务器的ID 返回原始现有类别时没有错误

我测试了该行为,并完全按照说明中的说明进行操作

谢谢您的回答。变量是特定于函数的吗?如中所示,我使用了您的代码,它可以工作,但是我试图在另一个函数中使用$work变量,但这不起作用…困惑!你能在数组中使用变量吗?变量是局部的,如果你想让它们是全局的,可以添加
global$work
在所有需要变量$work的函数的开头,包括create_my_cat()函数。当然,您可以将它们保存在数组中,并使用类似于
global$myArray
wp_create_category( $cat_name, $parent ):
$work = wp_create_category( 'Work' );
$blog = wp_create_category( 'Blog' );