Отображение настраиваемого поля над ценой продукта на страницах одного продукта Woocommerce

В Woocommerce я правильно установил настраиваемое поле на поддерживаемых страницах редактирования продукта… Теперь я пытаюсь отобразить продукт с этим значением настраиваемого поля перед ценой продукта на отдельных страницах продукта.

Но по какой-то причине с помощью приведенного ниже кода я могу отобразить его (и цену продукта тоже):

function bd_rrp_price_html( $price, $product ) {

    echo get_post_meta( $post->ID, '_text_field', true );

}
add_filter( 'woocommerce_get_price_html', 'bd_rrp_price_html', 100, 2 );

Любая помощь приветствуется

Вот что я хочу визуально отображать:

Отображение настраиваемого поля над ценой продукта на страницах одного продукта Woocommerce

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
0
941
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обновлено (2 альтернативы)

Вместо этого попробуйте следующий обновленный код:

add_filter( 'woocommerce_get_price_html', 'custom_single_price_html', 100, 2 );
function custom_single_price_html( $price, $product ) {
    $custom_field = get_post_meta( $product->get_id(), '_text_field', true );
    if ( is_product() && ! empty($custom_field) )
        $price = '<span class = "custom-textfield">' . $custom_field . '</span><br>' . $price;
    return $price;
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.


Или, в качестве альтернативы, вы также можете использовать следующее:

add_filter( 'woocommerce_single_product_summary', 'single_product_text_field', 8 );
function single_product_text_field() {
    global $product;

    $custom_field = get_post_meta( $product->get_id(), '_text_field', true );
    if ( ! empty($custom_field) )
        echo '<p class = "custom-textfield">' . $custom_field . '</p>';
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

Когда вставляю это в пользовательские функции, мой сайт отключается .. С этой ошибкой: Parse error: syntax error, unexpected 'product' (T_STRING) in

Doroti Henridgz 01.08.2018 17:43

@DorotiHenridgz Я обновил ответ ... проблема была в is product(), а теперь это is_product(), как и должно быть ... просто ошибка опечатки ... Теперь все должно работать.

LoicTheAztec 01.08.2018 17:54

Привет, @LoicTheAztec. Первый код сработал, второй выдал ошибку на странице продукта. Но, похоже, это не так, как должно быть (моя ошибка). Он отображается в формате: Название продукта, Цена Вес и должно отображаться в: Название продукта Вес Цена. Можете ли вы пересмотреть его еще раз, как отображать в этом формате? Спасибо

Doroti Henridgz 02.08.2018 09:39

Нет, у меня ошибка. Мне нужно просто указать цену выше. Это все.

Doroti Henridgz 02.08.2018 09:51

@DorotiHenridgz Обновил оба… попробуйте

LoicTheAztec 02.08.2018 09:57

Сначала один код показывал вес и цену, затем один за другим. Второй код вроде работает. Спасибо !

Doroti Henridgz 02.08.2018 09:58

@DorotiHenridgz Сейчас я обновил первый, и он работает так же, как и второй фрагмент кода…

LoicTheAztec 02.08.2018 09:59

Другие вопросы по теме