我可以在常规选项卡的编辑页面产品中创建自定义文件,在主题为:的functions.php中使用以下代码
// Display Fields
add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields');
// Save Fields
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save');
function woocommerce_product_custom_fields()
{
//Custom Product Number Field
woocommerce_wp_text_input(
array(
'id' => '_custom_product_number_field',
'placeholder' => 'Custom Product Number Field',
'label' => __('Custom Product Number Field', 'woocommerce'),
'type' => 'number',
'custom_attributes' => array(
'step' => 'any',
'min' => '0'
)
)
);
}
function woocommerce_product_custom_fields_save($post_id)
{
// Custom Product Number Field
$woocommerce_custom_product_number_field = $_POST['_custom_product_number_field'];
if (!empty($woocommerce_custom_product_number_field))
update_post_meta($post_id, '_custom_product_number_field', esc_attr($woocommerce_custom_product_number_field));
}
只是我不知道代码在数据库中保存在哪里?或者如何保存在自定义表中?
您可以将此代码用于
<?php function product_add_meta_box( $post ){
add_meta_box( 'product_meta_box', 'Custom Product Number Field', 'product_build_meta_box', 'product', 'side', 'low' );
}
add_action( 'add_meta_boxes_product', 'product_add_meta_box' );
function product_build_meta_box( $post ){
wp_nonce_field( basename( __FILE__ ), 'product_meta_box_nonce' );
$book_author = get_post_meta( $post->ID, '_book_author', true); ?>
<div class='inside'>
<h3>Book Author</h3>
<p>
<input type="text" name="book_author" value="<?php echo $book_author; ?>" />
</p>
</div>
<?php }
function product_save_meta_box_data( $post_id ){
if ( !isset( $_POST['food_meta_box_nonce'] ) || !wp_verify_nonce( $_POST['food_meta_box_nonce'], basename( __FILE__ ) ) ){
return;
}
if ( isset( $_REQUEST['book_author'] ) ) {
update_post_meta( $post_id, '_book_author', sanitize_text_field( $_POST['book_author'] ) );
}
}
add_action( 'save_post_product', 'product_save_meta_box_data', 10, 2 );