我正在尝试运行此脚本以添加产品属性。该脚本有两个阶段。如果我运行整个脚本, phase1 执行正常但错误是从 phase2 引发的。有趣的是,如果我再次运行整个脚本,两个阶段都按预期工作。
有没有理由在第一次尝试中没有添加这些条款?
//PHASE 1
global $wpdb;
$sql="SELECT count(*) FROM ".$wpdb->prefix ."woocommerce_attribute_taxonomies where attribute_name='mycbgenie-star-rating'" ;
$result = absint($wpdb->get_var( $sql ));
if($result==0) {
$insert = $wpdb->insert(
$wpdb->prefix . 'woocommerce_attribute_taxonomies',
array(
'attribute_label' => 'CB Rating',
'attribute_name' => 'mycbgenie-star-rating',
'attribute_type' => 'select',
'attribute_orderby' => 'order_by',
'attribute_public' => 1
),
array( '%s', '%s', '%s', '%s', '%d' )
);
if ( is_wp_error( $insert ) ) {
throw new WC_API_Exception( 'woocommerce_api_cannot_create_product_attribute', $insert->get_error_message(), 400 );
}
// Clear transients
delete_transient( 'wc_attribute_taxonomies' );
} //end of result==0
//第2阶段 // ***************************
$result=wp_insert_term(
' 5 Star ', // the term
'pa_mycbgenie-star-rating',
array(
'description'=> '5 star rating',
'slug' => 'mycbgenie-5-star-rating',
'parent'=> 0
)
);
if ( is_wp_error( $result ) ) {
echo $result->get_error_message();
}