我有一个CSV,我正在通过我制作的自定义插件导入。这将创建一个具有几个ACF字段的CPT。此CPT称为Formula,它有一个与之关联的分类法,称为Formula\\u type。我能够成功导入大约300篇帖子,但我在CSV中有一个类别栏。我很好奇在解析CSV时如何创建类别。
例如,在解析时,循环命中一个称为利尿剂的类别。它为此创建一个类别并将其添加到wp_insert_post
, 但是,如果已创建,则会将其分配给该职位。以下是我的循环当前的样子:
tldr:在我当前的循环中,如何创建新的类别,并在已经创建的情况下将类别添加到我的帖子中。
foreach($records as $results) {
$post = array(
\'post_title\' => $results[\'drug_name\'],
\'post_type\' => \'formula\',
\'post_status\' => \'publish\',
);
$post_id = wp_insert_post($post);
update_field( \'field_5cfe5ac146838\', $results[\'indication\'], $post_id ); // indication
update_field( \'field_5cfe629f3693b\', $results[\'amount\'], $post_id ); // amount
update_field( \'field_5d0d086c5d916\', \'true\', $post_id ); // imported
update_field( \'field_5d0d0998796cd\', $results[\'drug_id\'], $post_id ); // drug ID
}
SO网友:Aaron
我可以通过检查这个词是否存在来解决这个问题,然后使用tax_input
在里面wp_insert_post()
// Check if the category exists
$category_term = term_exists(trim($category), \'formula_types\', 0);
// Create category if it doesn\'t exist
if (!$category_term) {
$category_term = wp_insert_term(trim($category), \'formula_types\', array(\'parent\' => 0));
}
array_push($formattedCategories, (int)$category_term[\'term_taxonomy_id\']);
$post = array(
\'post_title\' => $results[\'drug_name\'],
\'post_type\' => \'formula\',
\'post_status\' => \'publish\',
\'tax_input\' => array(
\'formula_types\' =>
$formattedCategories,
)
);