自定义术语插入为带有逗号的单个字符串,而不是分隔

时间:2013-08-15 作者:Anagio

我有一个前端表单,其中一个输入需要一个逗号分隔的关键字列表,每个关键字都应该是一个自定义术语,我刚刚看到在后端,术语是用逗号作为单个字符串输入的,而不是单独输入的。

我的代码如下,我怎样才能把字符串ie;term1、term2、term3可以输入到“term1”、“term2”、“term3”的输入中,而“term2”、“term3”是将每个关键字作为唯一的术语插入所需的格式?

我两个都试过了wp_insert_postwp_set_object_terms

$keywords = $_POST[\'keywords\'];

$new_post = array(
    \'post_title\'    => $title,
    \'tax_input\'    => array( \'keyword\' => array( $keywords ) ),
    \'post_status\'   => \'publish\',
    \'post_type\' => \'test\'
);

$nonce = $_POST[\'nonce\'];
 if ( ! wp_verify_nonce( $nonce, \'form-nonce\' ) ) {
     die( \'Security check\' ); 
 } else {
    $pid = wp_insert_post($new_post);
    //var_dump($new_post);

    //wp_set_object_terms($pid,$keywords,\'keyword\');
 }
    wp_redirect( get_permalink($pid) ); 
    //echo $pid;
    exit();

1 个回复
最合适的回答,由SO网友:Anjum 整理而成

您需要从逗号分隔的关键字字符串中创建一个数组,如

$keywords = explode(\',\', $keywords);
然后,插入post数据数组将为。

$new_post = array(
  \'post_title\'    => $title,
  \'tax_input\'    => array( \'keyword\' => $keywords ),
  \'post_status\'   => \'publish\',
  \'post_type\' => \'test\'
);

结束

相关推荐

GET_TERMS不返回任何自定义分类

我有一个自定义的帖子类型,叫做project 调用自定义分类法tagportfolio我使用此代码生成以下两个: add_action(\'init\', \'project_custom_init\'); /*-- Custom Post Init Begin --*/ function project_custom_init() { $labels = array( \'name\' => _x(\'Project