php – 保存选择字段的(多个)元值

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 保存选择字段的(多个)元值脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法保存选择字段框中包含的元数据.只是一个例子(将function.PHP挂钩到单个产品设置页面):

(...)


    <select style="width:100%" id="_receITa" name="_receita[]" multiple="multiple" data-placeholder="<?PHP _e( 'SeArch for a PRoduct','woocommerce' ); ?>">
            <?PHP
                echo '<option value="test"> TEST </option>';
                echo '<option value="test1"> TEST1 </option>';
                echo '<option value="test2"> TEST2 </option>';
                ?>
            </select>

    // few others custom fields:
   <?PHP $ingrediente_x_quantidade = get_post_meta( $post->ID,'_ingrediente_x_quantidade',true ); ?>  
            <input placeholder="<?PHP _e( 'Ingrediente','woocommerce' ); ?>" tyPE="text" class="ingrediente" id ="_ingrediente" name="_ingrediente" value="<?PHP echo $ingrediente_x_quantidade[0]; ?>" style="width: 90%;" />
            <input placeholder="<?PHP _e( 'qnt.','woocommerce' ); ?>" type="number" name="_quantidade" id="_quantidade" class = "quantidade" value="<?PHP echo $ingrediente_x_quantidade[1]; ?>" step="any" min="0" style="width: 25%;" />

(...)

为了保存数据,我在function.PHP包括

add_action( 'woocommerce_product_options_general_product_data','woo_add_custom_general_fields' );
    // Save Fields
    add_action( 'woocommerce_process_product_Meta','woo_add_custom_general_fields_save' );


function woo_add_custom_general_fields_save( $post_id ){

// Custom Field
 $ingrediente_x_quantidade =  array( esc_attr( $_POST['_ingrediente'] ),esc_attr( $_POST['_quantidade'] ) );
 update_post_Meta( $post_id,$ingrediente_x_quantidade );

 // Select Field
 foreach ($_POST["_receita"] as $receita) {
 update_post_Meta($post->ID,"_receita",$receita);
        }

        }

我正在为自定义字段(“_ingrediente_x_quantidade”)获得一切正常,但对于选择字段,“_ renita”我得到一个空数组:

[_ingrediente_x_quantidade] => Array
(
[0] => a:2:{i:0;s:19:”Aveia,flocos,crua”;i:1;s:3:”113″;}
)

[_receita] => Array
(
[0] =>
)

我做错了什么?我很擅长编码!

解决方法

我发现使用foreach存储数据存在一个问题,每个记录都有相同的密钥和帖子ID …

尝试在base使用它:

update_post_Meta($post->ID,serialize($receita));

$receita = unserialize(get_post_meta($post->ID,true));

使用对空数组的检查也是好的…

脚本宝典总结

以上是脚本宝典为你收集整理的php – 保存选择字段的(多个)元值全部内容,希望文章能够帮你解决php – 保存选择字段的(多个)元值所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。