【发布时间】:2016-02-12 00:46:11
【问题描述】:
我使用以下代码创建了两个不同的自定义字段(感谢 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 并将显示为链接。我正在寻找显示这些字段,但在找到正确的解决方案时遇到了很多麻烦。
谁能指导我? 我应该关注文件“variable.php”吗? JS呢? 或者我可以通过钩子渲染字段?
提前致谢!
【问题讨论】:
-
在 Remi 教程的 cmets 中有 this link 这可能会有所帮助。
-
您打算在哪里显示此字段?
-
感谢您回答 elgatheviking!我读过这个链接。我是 WooCommerce 和 jQuery 定制的新手。我还没有找到看起来像我想要的代码示例。继续搜索,谢谢!
-
感谢您回答 Reigel!我的想法是在用户选择变体时显示两个自定义字段,例如在变体描述的下方。我有jQuery创建关系的问题,我很困惑。
-
似乎显示“变体描述”是最近从 WooCommerce 2.4 版开始实施的。一定是因为这个原因我找不到代码示例,前端Remi Corso提出的已经失效了,也不能review了。
标签: wordpress woocommerce variations