我正在使用WordPress、WooCommerce和一个名为Storefront的主题构建一个小网站。我想为客户添加在产品页面上为产品供应商添加自定义注释的功能。
注释是可选的。它可以选择性地在产品上绣上个人信息,一件衣服。
我是否应该创建一个隐藏的WooCommerce字段,以便使用jQuery将数据复制并粘贴到其中
我正在使用WordPress、WooCommerce和一个名为Storefront的主题构建一个小网站。我想为客户添加在产品页面上为产品供应商添加自定义注释的功能。
注释是可选的。它可以选择性地在产品上绣上个人信息,一件衣服。
我是否应该创建一个隐藏的WooCommerce字段,以便使用jQuery将数据复制并粘贴到其中
扩展WordPress和WooCommerce的最佳方法是使用hooks. 要在“产品”区域中添加自定义选项字段,可以使用以下挂钩:
/* create a new product field*/
add_action( \'woocommerce_product_options_advanced\', \'personalization_product_options_adv\' );
function personalization_product_options_adv() {
echo \'<div class="options_group">\';
woocommerce_wp_textarea_input( array(
\'id\' => \'product_personalization_note\',
\'value\' => get_post_meta( get_the_ID(), \'product_personalization_note\', true ),
\'label\' => \'Personalization Note\',
\'desc_tip\' => true,
\'description\' => \'Allow product personalization for select products\',
) );
echo \'</div>\';
}
/* save & update the changes*/
add_action( "woocommerce_process_product_meta", "personalization_save_fields" );
function personalization_save_fields( $post_id ) {
// grab the custom data from $_POST
$product_personalization_note = isset( $_POST[ \'product_personalization_note\' ] ) ? sanitize_text_field( $_POST[ \'product_personalization_note\' ] ) : \'\';
// grab the product
$product = wc_get_product( $post_id );
// save the custom data using WooCommerce built-in functions
$product->update_meta_data( \'product_personalization_note\', $product_personalization_note );
//save
$product->save();
}
/* display the new field on single product pages */
function woocommerce_custom_fields_display() {
global $post;
$product = wc_get_product($post->ID);
$custom_fields_woocommerce_title = $product->get_meta(\'product_personalization_note\');
if ($custom_fields_woocommerce_title) {
printf(
\'<div><label>%s</label><input type="text" id="woocommerce_product_custom_fields_title" name="woocommerce_product_custom_fields_title" value=""></div>\',
esc_html($custom_fields_woocommerce_title)
);
}
}
add_action(\'woocommerce_before_add_to_cart_button\', \'woocommerce_custom_fields_display\');
要在前端或WooCommerce发送的电子邮件中检索此数据,您可以使用get_post_meta() 功能如下:$product_additional_note = get_post_meta( get_the_ID(), \'product_additional_note \', true );
资料来源:所以,我在网上做了一些研究,但没有找到可靠的答案,所以我来了。我需要为特定类别创建自定义woocommerce类别页面。例如,我有一个类别叫做“Awesome”。而不是使用由短代码生成的常规类别页面[product_category category=\"something\"], 我想为自定义特定类别页面Awesome.我发现我需要编辑taxonomy-product_cat.php 但我不知道如何将其链接到名为awesome.换句话说,我正在考虑制作php文件的自定义副本,然后将其添加为主题templ