Краткое описание по умолчанию на страницах продуктов woocommerce - PullRequest
0 голосов
/ 08 сентября 2018

Я хотел бы добавить строку по умолчанию во всех формах краткого описания продуктов woocommerce, что-то вроде «бесплатная локальная доставка». Будет здорово, если эту строку в кратком описании можно редактировать или удалять каждый раз, когда редактируется новый продукт. Может кто-нибудь, пожалуйста, дайте мне знать, как, если вы знаете способ сделать это. Спасибо за вашу помощь заранее.

J

1 Ответ

0 голосов
/ 08 сентября 2018

, чтобы достичь цели и иметь возможность изменять область текста в случае, если нам нужно отобразить другой массаж, отличный от значения по умолчанию на странице продукта, нам нужно сделать три шага:

Шаг 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');
}

Выход по умолчанию

Default Output

BackEnd

enter image description here

если вы хотите отображать только кратко заданный текст по умолчанию в кратком описании, вам нужно использовать только эту функцию:

//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 и все готово.

...