通过php创建子类别

时间:2013-12-29 作者:user44440

有人能告诉我这里怎么了吗?我试图通过PHP创建一个类别和一个子类别。

我的代码是

wp_set_object_terms($postID, array($subCategory, $catgeory), \'category\');
但这在同一个hirearchy级别上创建了两个类别;我的目标是一个具有子类别的类别。

2 个回复
SO网友:shea

您可以使用wp_insert_term() 函数来实现这一点。首先创建父类别,然后创建子类别。

$parent = wp_insert_term(
    \'Parent Category\', // category name
    \'category\', // taxonomy
    array(
        \'description\' => \'Category description\', // optional
        \'slug\' => \'parent-category\', // optional
    )
);

wp_insert_term(
    \'Child Category\', // category name
    \'category\', // taxonomy
    array(
        \'description\' => \'Child category description\', // optional
        \'slug\' => \'child-category\', // optional
        \'parent\' => $parent[\'term_id\'], // set it as a sub-category
    )
);

SO网友:user44440

你的回答有错误。一个是语法(slug=>parent category line后没有逗号),出于某种原因,$parent[\'temr\\u id\']没有工作,尽管它在法典中看起来是正确的。。。

但它确实把我引向了正确的方向,我最终成功了,所以谢谢你!

我的解决方案(可能有一种更简单的方法):

$parentTitle = \'category name\';
$parentSlug = str_replace(\' \', \'\', $parentTitle);
$parent = wp_set_object_terms($postID, $parentTitle, \'category\', array(\'slug\' => $parentSlug));
$parentID = get_cat_id($parent);
$childTitle = \'category name\';
$childSlug = str_replace(\' \', \'\', $childTitle);
$child = wp_set_object_terms($postID, $childTitle, \'category\', array(\'slug\' => $childSlug, \'parent\' => $parentID));
再次感谢你为我指明了正确的方向!

结束