簡體   English   中英

為帖子分配多個類別ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM