我用下面的代码创建了两个自定义字段的变体(谢谢Remi Corso):
functions.php
添加变体设置
add_action( 'woocommerce_product_after_variable_attributes', 'variation_settings_fields', 10, 3 );
保存变体设置
add_action( 'woocommerce_save_product_variation', 'save_variation_settings_fields', 10, 2 );
为变体创建新域
function variation_settings_fields( $loop, $variation_data, $variation ) {
woocommerce_wp_text_input(
array(
'id' => '_pdf_ficha_tecnica[' . $variation->ID . ']',
'label' => __( 'PDF FICHA TÉCNICA', 'woocommerce' ),
'placeholder' => 'http://',
'desc_tip' => 'true',
'description' => __( 'aqui', 'woocommerce' ),
'value' => get_post_meta( $variation->ID, '_pdf_ficha_tecnica', true )
)
);
woocommerce_wp_text_input(
array(
'id' => '_pdf_ficha_caracteristicas[' . $variation->ID . ']',
'label' => __( 'PDF FICHA CARACTERÍSTICAS', 'woocommerce' ),
'placeholder' => 'http://',
'desc_tip' => 'true',
'description' => __( 'aqui', 'woocommerce' ),
'value' => get_post_meta( $variation->ID, '_pdf_ficha_caracteristicas', true )
)
);
}
保存变体的新域
function save_variation_settings_fields( $post_id ) {
$text_field = $_POST['_pdf_ficha_tecnica'][ $post_id ];
if( ! empty( $text_field ) ) {
update_post_meta( $post_id, '_pdf_ficha_tecnica', esc_attr( $text_field ) );
}
$text_field = $_POST['_pdf_ficha_caracteristicas'][ $post_id ];
if( ! empty( $text_field ) ) {
update_post_meta( $post_id, '_pdf_ficha_caracteristicas', esc_attr( $text_field ) );
}
}
这些自定义字段存储URL,并将显示为链接<a href>
。我希望显示这些字段,但我有很多麻烦找到正确的解决方案。
有人能指导我吗?我应该专注于文件“variable.php”吗?还有JS?或者我可以用钩子呈现字段吗?
1条答案
按热度按时间kfgdxczn1#
下面的代码我创建完美的作品。我是新的JS,我相信可以改进。我希望这将是有帮助的。创建自定义字段阅读REMI的职位。
说明:用“WC_Product Variable”对象可以显示Custom Fields中的产品变量、
为了显示这些字段,我使用了jquery,span“sku”的内容将作为我们的参考显示在产品页面上。这段代码在“variations.php”文件中。