在 Woocommerce 中保存新的属性分类

发布于 2025-01-21 01:56:16 字数 1447 浏览 0 评论 0原文

我已经在 woocommerce_attribute 分类法中注册了新列,并且我想将自定义字段保存到新列中,我使用 woocommerce_after_edit_attribute_fields 挂钩来显示输入,并使用 woocommerce_attribute_updated/added 来捕获新属性的数据,但是当我尝试时更新平板电脑确实什么都不做,也许 woocommerce 操作/过滤器有一些我不知道的解决方案...感谢您的帮助:)

   add_action( 'woocommerce_attribute_added', 'my_save_wc_attribute_my_field',10,2 );
   add_action( 'woocommerce_attribute_updated', 'my_save_wc_attribute_my_field',10,2 );
   function my_save_wc_attribute_my_field($id,$data ) {
if ( is_admin() && isset( $_POST['my_field'] ) ) {
    global $wpdb;


    $attribute_name= 'wwowowowwo';
    $attribute_slug = $data['attribute_slug'];
    $attribute_label = $data['attribute_label'];
    $attribute_orderby = $data['attribute_orderby'];
    $attribute_public = $data['attribute_public'];
    $attribute_maple = $_POST['my_field'];

           
    $arrd = array(
        'attribute_name' => $attribute_name,
        'attribute_label' => $attribute_label,
        'attribute_orderby' => $attribute_orderby,
        'attribute_public' => $attribute_public,
        'maple_attribute_types' => sanitize_text_field($_POST['my_field']),

     );
     $arrid = array(
        'ID' => $id,
     );
      

     // save new field into attribute taxonomies
     $wpdb->update("wp_woocommerce_attribute_taxonomies", $arrd,$arrid);


        echo  $attribute_orderby;
        echo $id;
        echo $attribute_maple;
}

}

i've register new column in woocommerce_attribute taxonomies, and i want to save my custom field to my new column, i'm using woocommerce_after_edit_attribute_fields hook to display an input and woocommerce_attribute_updated/added to catch the data of a new attribute, but when i try update the tableit dosent really do nothing, maybe there is some solution with woocommerce action/filter that i dont know about ... thank for any help :)

   add_action( 'woocommerce_attribute_added', 'my_save_wc_attribute_my_field',10,2 );
   add_action( 'woocommerce_attribute_updated', 'my_save_wc_attribute_my_field',10,2 );
   function my_save_wc_attribute_my_field($id,$data ) {
if ( is_admin() && isset( $_POST['my_field'] ) ) {
    global $wpdb;


    $attribute_name= 'wwowowowwo';
    $attribute_slug = $data['attribute_slug'];
    $attribute_label = $data['attribute_label'];
    $attribute_orderby = $data['attribute_orderby'];
    $attribute_public = $data['attribute_public'];
    $attribute_maple = $_POST['my_field'];

           
    $arrd = array(
        'attribute_name' => $attribute_name,
        'attribute_label' => $attribute_label,
        'attribute_orderby' => $attribute_orderby,
        'attribute_public' => $attribute_public,
        'maple_attribute_types' => sanitize_text_field($_POST['my_field']),

     );
     $arrid = array(
        'ID' => $id,
     );
      

     // save new field into attribute taxonomies
     $wpdb->update("wp_woocommerce_attribute_taxonomies", $arrd,$arrid);


        echo  $attribute_orderby;
        echo $id;
        echo $attribute_maple;
}

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

‘画卷フ 2025-01-28 01:56:16

我使用了 创建自定义属性中的函数...

和里面的 process_Add_attribute 我已经删除了

 // flush_rewrite_rules();
 // delete_transient( 'wc_attribute_taxonomies' );

I've used the function from Creating custom attribute...

and inside process_Add_attribute I've removed

 // flush_rewrite_rules();
 // delete_transient( 'wc_attribute_taxonomies' );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文