새로운 Woocommerce 제품 작성 카테고리를 프로그램적으로 설정하려면 어떻게 해야 합니까?
여기에 제시된 솔루션을 사용하면 워드프레스 투고용 "카테고리"를 쉽게 작성할 수 있습니다.
//Check if category already exists
$cat_ID = get_cat_ID( $category );
//If it doesn't exist create new category
if($cat_ID == 0) {
$cat_name = array('cat_name' => $category);
wp_insert_category($cat_name);
}
//Get ID of category again incase a new one has been created
$new_cat_ID = get_cat_ID($category);
// Create post object
$new_post = array(
'post_title' => $headline,
'post_content' => $body,
'post_excerpt' => $excerpt,
'post_date' => $date,
'post_date_gmt' => $date,
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array($new_cat_ID)
);
// Insert the post into the database
wp_insert_post( $new_post );
그러나 Woocommerce는 이러한 카테고리를 인식하지 않습니다.Woocommerce 카테고리는 다른 곳에 저장됩니다.woocommerce의 카테고리를 프로그래밍 방식으로 작성하려면 어떻게 해야 하며, 새로운 투고에 할당하는 것이 올바른 방법입니까?
Woocommerce 카테고리는 product_cat 분류법 용어입니다.따라서 카테고리를 작성하려면 다음 명령을 사용합니다.
wp_insert_term(
'New Category', // the term
'product_cat', // the taxonomy
array(
'description'=> 'Category description',
'slug' => 'new-category'
)
);
그러면 다음 값이 반환됩니다.term_id
그리고.term_taxonomy_id
, 다음과 같이 합니다.array('term_id'=>12,'term_taxonomy_id'=>34))
그러면 새 제품을 카테고리에 연관짓는 것은 단순히 카테고리를 연관짓는 것입니다.term_id
(제품은 Woocommerce에 게시되어 있습니다).먼저 제품/포스트를 작성한 후 다음을 사용합니다.
wp_set_object_terms( $post_id, $term_id, 'product_cat' );
덧붙여서 woocommerce는 이것들에 대한 기능도 제공하고 있어 사용하기 쉬울 수 있지만 wp cron 작업에서 사용할 수 있는 woocommerce 함수에 문제가 발생한 적이 있기 때문에 이것만으로도 충분합니다.
제품을 로드할 수 있습니다.
$product = wc_get_product($id);
그런 다음 카테고리를 설정합니다.
$product->set_category_ids([ 300, 400 ] );
마지막으로 저장해야 하는 것은 속성을 다루는 작업은 나중에 DB에 저장하기 위해 어레이에 변경 사항을 저장하는 프로퍼 세터 메서드를 사용하기 때문입니다.
$product->save();
상세한 것에 대하여는, 다음의 API 메뉴얼을 참조하십시오.
앞뒤 호환성을 위해 WC에서 제공하는 기능을 사용하는 것이 좋다.
언급URL : https://stackoverflow.com/questions/26690047/how-to-programatically-set-the-category-for-a-new-woocommerce-product-creation
'programing' 카테고리의 다른 글
JavaScript 함수의 MVC jQuery 제출 양식(페이지 새로 고침 없음) (0) | 2023.02.26 |
---|---|
비동기 함수를 onClick in 버튼 응답으로 호출할 수 있습니까? (0) | 2023.02.26 |
React js를 사용하여 사용자가 div의 맨 아래로 스크롤하는 경우 감지 (0) | 2023.02.26 |
Fluxible에서 dehyd탈수 and과 re재수화 stand는 무엇을 의미합니까? (0) | 2023.02.26 |
MongoDB 쉘에서 복제 세트에 연결하려면 어떻게 해야 합니까? (0) | 2023.02.26 |