Woocommerce : 모든 제품 업데이트 기능
Woocommerce 제품에 문제가 있습니다.이 문제는 수정 없이 제품만 업데이트(제품 편집 후 업데이트 버튼 클릭)하면 해결됩니다.
제 사이트에는 2000개 정도의 제품이 있는데, 제 기능을 이용하여 하려고 생각하고 있습니다.php 파일.
이 정도일 거예요, 제품 업데이트 라인만 있으면 돼요.
function update_all_products(){
// getting all products
$products = get_posts( $args );
// Going through all products
foreach ( $products as $key => $value ) {
// the product ID
$product_id = $value->ID;
// update product
update_post_meta...(NEED HELP HERE)...
} //..end foreach
}
// fire the function
update_all_products();
문제를 피하기 위해 매번 200개씩 제품을 갱신합니다(변수 제품도 있는 경우 arg는 &이어야 합니다).
add_action( 'woocommerce_loaded', 'update_products_by_x' );
function update_products_by_x(){
$limit = 200;
// getting all products
$products_ids = get_posts( array(
'post_type' => 'product', // or ['product','product_variation'],
'numberposts' => $limit,
'post_status' => 'publish',
'fields' => 'ids',
'meta_query' => array( array(
'key' => '_sync_updated',
'compare' => 'NOT EXISTS',
) )
) );
// Loop through product Ids
foreach ( $products_ids as $product_id ) {
// Get the WC_Product object
$product = wc_get_product($product_id);
// Mark product as updated
$product->update_meta_data( '_sync_updated', true );
$product->save();
}
}
코드가 기능합니다.php 파일에는 액티브한 아이 테마(또는 활성 테마).테스트 및 동작.
사이트의 페이지를 참조할 때마다 기능이 트리거됩니다.제품을 200개까지 처리하는 것이 더 안전하며 타임아웃이나 오류를 방지할 수 있습니다.
예를 들어 이 숫자를 500으로 늘릴 수 있습니다.$limit
로.500
언급URL : https://stackoverflow.com/questions/55965302/woocommerce-function-to-update-all-products
'programing' 카테고리의 다른 글
실패한 폼 propType: "onChange" 핸들러가 없는 폼 필드에 "값" 프로포트를 제공했습니다. (0) | 2023.03.23 |
---|---|
주석을 사용하지 않는 잭슨의 필드를 제외하려면 어떻게 해야 합니까? (0) | 2023.03.23 |
서블릿과 웹 서비스의 차이점 (0) | 2023.03.23 |
MySQL 데이터베이스 연결 IIS10을 설정하는 동안 WordPress 오류 발생 (0) | 2023.03.23 |
레일: active_model_serializer와의 깊이 중첩된 연관성을 직렬화하는 중 (0) | 2023.03.23 |