我想在所有woocommerce产品的简短描述表单中添加一条默认行,例如“免费本地送货”。如果每次编辑新产品时都可以编辑或删除简短说明中的该行,那将是很好的选择。有人可以让我知道您是否知道如何完成此任务。提前谢谢你的帮助。
J
答案 0 :(得分:0)
为了达到您的目标,并能够更改文本区域,以防万一我们需要在产品页面上显示默认消息以外的其他消息,我们需要执行三个步骤:
第1步:在管理面板的“产品常规”标签中添加文本区域
// Display Text in Admin Panel
add_action('woocommerce_product_options_general_product_data', 'product_custom_text_area');
function product_custom_text_area()
{
// Custom Product Text Area
woocommerce_wp_textarea_input(
array(
'id' => '_optional_textarea',
'label' => __('Optional Text Area', 'woocommerce'),
'placeholder' => 'Product Text',
'desc_tip' => 'true',
'description' => __('This Text will be Displayed in Product Short Desc', 'woocommerce')
)
);
}
第2步:如果我们添加了文本,则将文本保存在数据库中
// Save Fields
add_action('woocommerce_process_product_meta', 'product_custom_text_area_save');
function product_custom_text_area_save($post_id)
{
if (!empty($_POST['_optional_textarea'])) {
update_post_meta($post_id, '_optional_textarea', esc_attr($_POST['_optional_textarea']));
}
}
第3步:如果不显示我们的默认消息,则在产品页面中显示我们的文本
//Display The Text in Product Page
add_action('woocommerce_before_add_to_cart_form', 'display_text_area');
function display_text_area()
{
global $post;
if (get_post_meta($post->ID, '_optional_textarea', true)) {
echo get_post_meta($post->ID, '_optional_textarea', true);
return;
}
echo __('FREE LOCAL SHIPPING', 'woocommerce');
}
默认输出
后端
如果要在简短描述中仅显示“默认”硬编码文本,则只需使用此功能:
//Display The Text in Product Page
add_action('woocommerce_before_add_to_cart_form', 'display_text_area');
function display_text_area()
{
echo __('FREE LOCAL SHIPPING', 'woocommerce');
}
只需将上面的代码放在您的functions.php
中,您就可以开始了。