wordpress - 如何在 WooCommerce 中为单个产品分配多个元值?
问题描述
我正在寻找一种将多个设置meta_value
为单个产品的解决方案。我使用以下几行进行设置meta_key
:
首先,我在 WooCommerce 中创建了一个文本输入选项:
echo '<div class="options_group">';
$product_1 = array(
'id' => 'custom_text_field_title_review_1',
'label' => __( 'A point:', 'rasa_store' ),
'desc_tip' => true,
'description' => __( 'type a review point.', 'rasa_store' )
);
echo '</div>';
echo '<div class="options_group">';
$product_2 = array(
'id' => 'custom_text_field_title_review_2',
'label' => __( 'B point:', 'rasa_store' ),
'desc_tip' => true,
'description' => __( 'type a review point.', 'rasa_store' )
);
echo '</div>';
woocommerce_wp_text_input( $product_1 );
woocommerce_wp_text_input( $product_2 );
比我将数字保存在数据库中,
$field_key_review_1 = 'custom_text_field_title_review_1';
if ( isset( $_POST[$field_key_review_1] ) && ! empty( $_POST[$field_key_review_1] ) ) {
$attribute_review_1 = wc_get_product( $post_id );
$attribute_review_1->update_meta_data( $field_key_review_1, sanitize_text_field( $_POST[$field_key_review_1] ) );
$attribute_review_1->save();
} else {
$attribute_review_1 = wc_get_product( $post_id );
$attribute_review_1 = delete_post_meta( $post_id, 'custom_text_field_title_review_1' );
}
然后我检查此自定义字段中是否有数字,将它们另存为product_review
,然后我想将其product_review
用作过滤器:
if ( $product_1 ){
$product->update_meta_data('product_review', 'review_1');
$product->save(); // Save to database
} if ( $product_2 ){
$product->update_meta_data('product_review', 'review_2');
$product->save();
} if ( $product_3 ){
$product->update_meta_data('product_review', 'review_3');
$product->save();
} if ( $product_4 ){
$product->update_meta_data('product_review', 'review_4');
$product->save();
} if ( $product_5 ){
$product->update_meta_data('product_review', 'review_5');
$product->save();
} if ( $product_6 ){
$product->update_meta_data('product_review', 'review_6');
$product->save();
} if ( $product_7 ){
$product->update_meta_data('product_review', 'review_7');
$product->save();
} if ( $product_8 ){
$product->update_meta_data('product_review', 'review_8');
$product->save();
}
然后我想使用这个 meta_key 来过滤产品,我只是在寻找一种解决方案,meta_value
为meta_key
. 例如,一种产品可能同时具有review_1
review_2
和review_3
。
解决方案
推荐阅读
- google-sheets - 谷歌表格查询上的动态预测给出#Value错误
- python - 在 ubuntu 中使用 pip 安装 psycopg2 时出错
- javascript - 标签的动态文本换行
- r - 使用 dcast 或 ftable 重塑 R 中的数据框
- ios - 集合视图 UINib 在自定义 UIView 崩溃中注册,意外发现 nil
- sql - 获取特定日期范围内特定用户的未结案件数
- python - ValueError:字段“IFORM”出现多次
- algorithm - 分配最大可用内存
- javascript - 无法更新 setInterval 内的变量值
- assembly - 在汇编 x86 中使用 INVOKE 和 PROTO