• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

"Тюнинг" страницы категорий

Мне необходимо немного "проапгрейдить" страницу категории товаров следующим образом:
1) Чтобы справа от картинки отображалось произвольное текстовое поле с возможностью HTML.
2) Чтобы описание категории товара было снизу так же с возможностью HTML.
По аналогии с http://www.interalighting.ru/catalog/vnutrennee-osveschenie/

Буду благодарен за любую помощь
 
Второй пункт сделал сам. И сверху и снизу в странице категорий. Теперь я могу оформить и "шапку" и "подвал" страницы категории.
Остался только первый пункт. Не могу понять возможно ли обойтись редактированием файла functions или все же придется лезть в конечные страницы...
 
Пробежался по хукам like "%category%"
Нашел:
woocommerce_before_subcategory
woocommerce_before_subcategory_title
woocommerce_after_subcategory
woocommerce_after_subcategory_title

Я так понимаю, что могу использовать оба action like "%_title", но.. они выведутся или вверху миниатюры субкатегории или внизу (в зависимости от того, что я выберу)
А мне нужно справа. Понимаю, что нужно настроить css темы должным образом, но не могу понять какой и что именно там править.
У кого есть какие мысли?
 
Я не хочу отдавать этот вопрос на сторону.
У меня есть понимание, что денег за это не миллионы возьмут и я вполне смогу себе это позволить, но тут дело вообще в этом, хочется самому разобраться. Мне интересна эта тема, я ее изучаю. Дав задачу исполнителю я ничего не пойму, у меня просто будет "мулька" в песочнице, которую завтра я захочу переделать, поправить. Послезавтра я о ней забуду и буду изучать уже следующий вопрос.
 

D&B

Администратор
Команда форума
Местный
Я понимаю, но тут к сожалению, действительно нет профи разработчиков шаблонов для WOO, что бы быстро и точно ответить.
 
Я понял. Тут дело больше не в самом woo, а в шаблонах WP в общем и архитектуре оного. Не могу доковыряться до того момента, где выводится миниатюра и другие данные подкатегории\товара в лупе.
Точнее, я думаю. докопался. archive-product.php выводит эти данные(вызывается в цикле вывода).
Там 4 хука для тюнинга самой страницы (before\after loop). Хрен бы с ними. И то, что мне нужно: woocommerce_product_subcategories();
Согласно описалову доков woo она делает "Display product sub categories as thumbnails."
Отлично, это то, что нужно.
Теперь осталось вывести еще и %custom_field% по моему усмотрению и оформить его справа от thumbnail. (видимо, нужно нарисовать нужную функцию, сунуть ее в библиотечный файл, пусть тот же wc_template_functions.php и вызвать ее из woocommerce_product_subcategories() для каждой категории).
Я так понимаю, чтобы все было ок - мне нужно оба элемента (картинге и текст выводимого мной поля) поместить в двуколоночный некий контейнер и с помощью css оформить это все в человеческий вид, чтобы и на изменение экрана реагировало правильно и вообще выглядело эстетично и ровно.


Но я, хоть и кодер, в web - только начинаю. Я не понимаю в теле какой именно процедуры woocommerce_product_subcategories() или woocommerce_subcategory_thumbnail() вызывать мою самописную функцию, возвращающую нужные мне данные (custom category field data). И еще больше я не понимаю, как дальше с помощью css оформить это все красиво после вывода.
 
Основная проблема в том, что php я читаю так же как и французский. Понимаю только некоторые слова)))))
 
Я нашел нужную функцию.

function woocommerce_subcategory_thumbnail( $category ) {
$small_thumbnail_size = apply_filters( 'single_product_small_thumbnail_size', 'shop_catalog' );
$dimensions = wc_get_image_size( $small_thumbnail_size );
$thumbnail_id = get_woocommerce_term_meta( $category->term_id, 'thumbnail_id', true );

if ( $thumbnail_id ) {
$image = wp_get_attachment_image_src( $thumbnail_id, $small_thumbnail_size );
$image = $image[0];​
} else {
$image = wc_placeholder_img_src();​
}
if ( $image ) {
// Prevent esc_url from breaking spaces in urls for image embeds
// Ref: http://core.trac.wordpress.org/ticket/23605
$image = str_replace( ' ', '%20', $image );​

echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $category->name ) . '" width="' . esc_attr( $dimensions['width']). '" height="' . esc_attr( $dimensions['height'] ) . '" />';​
}​
}

Вот тут после вывода самой уже форматированной картинки мне нужно выводить значение нужного мне поля, так?
Или сперва нужно создать некий контейнер в 2 колонки, поместить туда нужные мне элементы и его уже выводить? Или как?​
 
Еще вопрос в аудиторию, можно ли переопределить woocommerce_subcategory_thumbnail($params) в файле functions.php, чтобы после обновления у меня изменения не потерлись или только править плагин и следить за этим?
 

Stork.71

Гуру
Местный
Сверху Снизу