[英]Assign multiple category IDs to a post
全部,以下代碼將類別添加到Wordpress中的帖子:
$bmt_post = array(
'post_title' => wp_strip_all_tags( $title ),
'post_content' => wp_strip_all_tags( $information ),
'post_status' => 'publish',
'post_category' => array( 2,3 )
);
$post_id = wp_insert_post( $bmt_post );
當我從PHP前端網頁創建新帖子時,我試圖分配帖子類別。 我在表格上有以下內容:
echo '<input type="checkbox" name="category_name[]" value="'.$category->term_id.'"> '.$category->name.'<br>';
然后我嘗試像這樣處理它:
if($_POST['category_name'] != ''){
$cat_ids = '';
foreach($_POST['category_name'] as $cat_name){
$cat_ids .= $cat_name.',';
}
$cat_ids = rtrim($cat_ids, ",");
echo 'The ids are: '.$cat_ids;
}else{
$cat_ids = 0;
}
當我回顯$cat_ids
變量時,我有2,3,因此它應該可以工作,但是在本示例中,它僅將第一個類別ID添加到帖子中,而不是同時執行。 我如何才能使其正常工作?
您需要創建一個數組,而不是一個用逗號分隔的id的字符串:
foreach($_POST['category_name'] as $cat_name){
if ( is_int( $cat_name ) ) {
$cat_ids[] = $cat_name;
}
}
var_dump( $cat_ids );
原因:將字符串轉換為int僅返回第一個值: http : //codepad.org/y76D3krI
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.