在社区的帮助下,我成功地创建,保存并将标签及其值打印到单个产品页面。
我还可以使用 Polylang 将输入值翻译成不同的语言,但翻译自定义标签(条件和品牌)非常困难。
那里有人可以帮我解决这些问题吗?
我尝试使用 Polylang , Saywhat ...但没有成功!
以下是代码:
// Enabling and Displaying Fields in backend
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );
function woo_add_custom_general_fields() {
global $woocommerce, $post;
echo '<div class="options_group">';
woocommerce_wp_text_input( array( // Text Field type
'id' => '_conditions',
'label' => __( 'Conditions', 'woocommerce' ),
'placeholder' => 'i.e: brand-new; refurbished; defected...',
'desc_tip' => 'true',
'description' => __( 'Enter the conditions of the products here.', 'woocommerce' )
) );
woocommerce_wp_text_input( array( // Text Field type
'id' => '_brands',
'label' => __( 'Brands', 'woocommerce' ),
'placeholder' => 'i.e: Lacoste; Hugo Boss...etc',
'desc_tip' => 'true',
'description' => __( 'Enter names of the Brands of the products if any.', 'woocommerce' )
));
echo '</div>'; // Closing </div> tag HERE
}
// Save Fields values to database when submitted (Backend)
add_action( 'woocommerce_process_product_meta', 'woo_save_custom_general_fields' );
function woo_save_custom_general_fields( $post_id ){
// Saving "Conditions" field key/value
$conditions_field = $_POST['_conditions'];
if( !empty( $conditions_field ) )
update_post_meta( $post_id, '_conditions', esc_attr( $conditions_field ) );
// Saving "Brands" field key/value
$brands_field = $_POST['_brands'];
if( !empty( $brands_field ) )
update_post_meta( $post_id, '_brands', esc_attr( $brands_field ) );
}
add_action('woocommerce_single_product_summary', 'woo_display_custom_general_fields_values', 20);
function woo_display_custom_general_fields_values() {
global $product;
echo '<p class="custom-conditions">Conditions: ' . get_post_meta( $product->id, '_conditions', true ) . '</p>';
echo '<p class="custom-brands">Brands: ' . get_post_meta( $product->id, '_brands', true ) . '</p>';
}
这里有截图:
谢谢。
答案 0 :(得分:1)
首先,您应该将gettex域名从 'woocommerce'
更改为您主题的域名(或更多自定义域名),因为它不会成为woocommerce代码的一部分,它位于您的活动主题中。
1)免费替代方案:
然后,因为您尝试翻译的内容并不真实,但是您的活动子主题(或活动主题)的
function.php
文件中存在一些代码和平,您应该使用专门的免费插件Loco Translate,它将提供WordPress翻译文件的浏览器内编辑。
Loco Translate还为开发人员提供本地化工具,例如提取字符串和生成模板。
Loco Translate功能包括:
2)商业完整方式(与WooCommerce完全兼容):
最完整的商业替代品是WPML插件,它还可以处理多语言网站的WooCommerce自定义本地化和翻译内容。其他免费的可选插件对于WooCommerce来说是不完整的,更难以让它们完全正常工作。
因此,如果您计划发布多语言网站,请考虑一下。