В 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 );
Любая помощь приветствуется
Вот что я хочу визуально отображать:
Обновлено (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 вашей активной дочерней темы (или активной темы). Проверено и работает.
@DorotiHenridgz Я обновил ответ ... проблема была в is product()
, а теперь это is_product()
, как и должно быть ... просто ошибка опечатки ... Теперь все должно работать.
Привет, @LoicTheAztec. Первый код сработал, второй выдал ошибку на странице продукта. Но, похоже, это не так, как должно быть (моя ошибка). Он отображается в формате: Название продукта, Цена Вес и должно отображаться в: Название продукта Вес Цена. Можете ли вы пересмотреть его еще раз, как отображать в этом формате? Спасибо
Нет, у меня ошибка. Мне нужно просто указать цену выше. Это все.
@DorotiHenridgz Обновил оба… попробуйте
Сначала один код показывал вес и цену, затем один за другим. Второй код вроде работает. Спасибо !
@DorotiHenridgz Сейчас я обновил первый, и он работает так же, как и второй фрагмент кода…
Когда вставляю это в пользовательские функции, мой сайт отключается .. С этой ошибкой:
Parse error: syntax error, unexpected 'product' (T_STRING) in