Я работаю над веб-сайтом электронной коммерции с использованием woocommerce.
Я стилизую карточку продукта (второй контейнер, который включает название продукта, цену и т. Д.) В категориях магазинов и во всех местах, используя хуки и файл content-product.php.
Мой код для файла product.php:
<div class="second-container">
<div class="product_info">
<?php do_action( 'woocommerce_before_shop_loop_item_title'); ?>
<a href="<?php echo get_the_permalink() ?>" class="title"><?php do_action( 'woocommerce_shop_loop_item_title' ); ?></a>
<?php do_action( 'woocommerce_after_shop_loop_item_title' ); ?>
Этот, чтобы показать имя.
Для моей первой записи, которая является настраиваемым атрибутом с именем «Бренд», я использую следующую функцию в моем файле functions.php
add_action('woocommerce_shop_loop_item_title', 'display_custom_product_attributes_on_loop', 5 );
function display_custom_product_attributes_on_loop() {
global $product;
$value2 = $product->get_attribute('Brand');
if ( ! empty($value2) ) {
echo '<div class="items" style=";"><p>';
$attributes = array(); // Initializing
if ( ! empty($value2) ) {
$attributes[] = __("") . ' ' . $value2;
}
echo implode( '', $attributes ) . '</p></div>';
}
}
В любом случае мне было очень сложно добраться до этого момента, поскольку я ничего не знаю о php, он работает нормально, но есть проблема, которая заключается в том, что между двумя крючками есть некоторый промежуток См. изображение где бренд = лофт title = Мужской черный свитер с высоким воротом 2600
Я попытался манипулировать заполнением в css, используя все доступные контейнеры, верхнее / нижнее заполнение, но не удалось удалить интервал.
Я ищу помощь в одном из следующих
1- Объедините бренд и название в одной строке, давая бренду постоянную ссылку на глобальный фильтр атрибута, а название - постоянную ссылку самого продукта (рекомендуется 100%).
ИЛИ
2- Объедините бренд и название в одной строке, дав им обоим постоянную ссылку только для продукта (рекомендуется 80%).
ИЛИ
3- Уменьшите интервал между первой и второй строкой.
Страница моего магазина для справки
Я использую плагин Swoof для фильтрации
Большое спасибо и признательность за любую помощь.
1 ответ
Вы можете использовать ловушку фильтра the_title
для управления заголовком. Также используйте некоторую условную проверку, чтобы управлять только названием продукта на странице магазина. Итак, я бы сделал что-то вроде этого:
add_filter('the_title', 'display_custom_product_attributes_on_loop', 20, 2);
function display_custom_product_attributes_on_loop($the_title, $id)
{
global $product;
if (is_shop() && get_post_type($id) == 'product') :
$value2 = $product->get_attribute('Brand');
if ( ! empty($value2) ):
$the_title = $value2 . ' ' . '<a href="' . get_the_permalink() . '">' . $the_title . '</a>';
endif;
endif;
return $the_title;
}
Это выведет attribute value
+ your product title
, который является a link
для single product page
.
ИЛИ
add_filter('the_title', 'display_custom_product_attributes_on_loop', 20, 2);
function display_custom_product_attributes_on_loop($the_title, $id)
{
global $product;
if (is_shop() && get_post_type($id) == 'product') :
$value2 = $product->get_attribute('Brand');
if ( ! empty($value2) ):
$the_title = $the_title . ' ' . '<a href="' . get_the_permalink() . '">' . $value2 . '</a>';
endif;
endif;
return $the_title;
}
Это выведет the product title
+ your attribute value
, который является a link
для single product page
.
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.