在woocommerce产品的quickedit函数中添加我的自定义输入字段

时间:2019-04-01 08:22:21

标签: wordpress woocommerce

我正在尝试在woo Commerce产品的快速编辑功能中添加我的自定义输入字段。

我在产品中创建了一个自定义输入字段。如果我直接进入每个产品的编辑页面,则只能编辑和保存此自定义输入字段。

创建自定义输入字段:

function cfwc_create_custom_field() {
    $args = array(
        'id'            => 'custom_product_code',
        'label'         => __( 'Product Code:', 'cfwc' ),
        'class'                 => 'cfwc-custom-field',
        'desc_tip'      => false,
        'description'   => __( '', 'ctwc' ),
    );
    woocommerce_wp_text_input( $args );
}
add_action( 'woocommerce_product_options_general_product_data', 'cfwc_create_custom_field' );

保存自定义输入字段:

function cfwc_save_custom_field( $post_id ) {
    $product = wc_get_product( $post_id );
    $title = isset( $_POST['custom_product_code'] ) ? $_POST['custom_product_code'] : '';
    $product->update_meta_data( 'custom_product_code', sanitize_text_field( $title ) );
    $product->save();
}
add_action( 'woocommerce_process_product_meta', 'cfwc_save_custom_field' );

如果我在编辑页面中编辑产品,则此代码可以正常工作。我想要的是在产品的快速编辑功能中编辑此自定义输入字段,以便用户无需转到每个产品的编辑页面。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

添加上述功能cfwc_create_custom_field,就像在操作中一样-

add_action( 'woocommerce_product_quick_edit_end', 'cfwc_create_custom_field' );

然后将数据保存在do_action( 'woocommerce_product_quick_edit_save', $product );钩中。