elena11
Ответы в темах
-
ну а конкретно уровень как получить? Число?
Это корректный способ?$parents = get_ancestors( $term, 'kategorii' ); $level = count($parents);
эта функция получает id родительского элемента, каким образом через это можно узнать уровень?
Проблема решена. Вроде всё то же самое делала..скопировала с сайта астры пример и адаптировала под себя. Выводит чисто артикул. Хотя функция вроде та же самая, что и использовала) в чем прикол не поняла.
add_action( 'woocommerce_single_product_summary', 'show_sku', 0); function show_sku() { global $product; $sku = $product->get_sku(); echo "<div class='sku-number'>" . $sku . "</div>"; }
А что с этим можно сделать? Тема астра
Форум: Проблемы и решения
Тема: Лейбл со склонениями WocommerceКак поняла в Woocommerce нет такой строки перевода, чтобы так склонять слова. Поэтому пришлось воспользоваться сторонней функцией. Вдруг кому-то пригодится:
* Склонение слова после числа * @param $number - число * @param $after - массив слов в различных падежах, напр. ['товар', 'товара', 'товаров'] */ function plural_form($number, $after) { $cases = array (2, 0, 1, 1, 1, 2); return $number.' '.$after[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ]; }
После чего можно устанавливать и выводить лейбл с нужными склонениями (автоматом определяет нужную форму):
$label = plural_form($theCount, ['товар', 'товара', 'товаров']); //где $theCount - это ваша переменная с числом echo $label;
Форум: Проблемы и решения
Тема: Показать попап при авторизациия в курсе что такое хук и как этим пользоваться. Какой конкретно хук может подойти для этого? Например, wp_login не позволяет вставить скрипт, вылетает ошибка
Warning: Cannot modify header information — headers already sent by (output started at /var/www/…/wp-includes/pluggable.php on line 1421
Как я поняла событие wp_login позволяет только передать какие-то параметры, но не вывести код.Если я просто любым хуком на саму страницу вставлю попап, он будет вылетать каждый раз, когда я захожу на страницу ЛК, а приветствие должно отображаться только 1 раз при авторизации. Т.е. мне надо как-то привязать это к событию авторизации. Ничего подобного с примерами нагуглить, к сожалению, не удалось. Поэтому спрашиваю совета
Форум: Проблемы и решения
Тема: Изменить платёжный адрес? Woocommerceя не волнуюсь) с чего бы? функции хорошая штука, когда чего-то не хватает.
По поводу сортировки. Вдруг кому пригодится! Оказалось сортировка и настройка основных полей, а email и phone в аккаунте делается отдельным хуком.
//Меняем основные поля add_filter( 'woocommerce_default_address_fields', 'rpf_edit_default_address_fields', 100, 1 ); function rpf_edit_default_address_fields($fields) { $fields['first_name']['priority'] = 20; $fields['last_name']['priority'] = 30; $fields['address_1']['priority'] = 50; $fields['city']['priority'] = 40; $fields['city']['label'] = 'Город'; return $fields; } //Отдельно меняем phone и email add_filter( 'woocommerce_billing_fields', 'custom_billing_fields', 20, 1 ); function custom_billing_fields( $fields ) { unset($fields['billing_email']); $fields['billing_phone']['priority'] = 40; return $fields; }
- Ответ изменён 2 года, 3 месяца назад пользователем elena11.
Форум: Проблемы и решения
Тема: Изменить платёжный адрес? Woocommerceмне нужно натянуть макет и кастомизировать конкретную тему, а не разработать плагин. Поэтому то, что вы пишите в моём случае не актуально. Смена темы предполагает другой макет и внешний вид. Соответственно мои строчки кода там не нужны будут в принципе.
Форум: Проблемы и решения
Тема: Изменить платёжный адрес? Woocommerceесли вопрос решается парой строчек кода, то плагин ставить нецелесообразно. А вот если это острая потребность в доп.функционале, то конечно ничего страшного в плагинах нет.
Но мне удалось самостоятельно решить вопрос. Если кому-то пригодится, то убрать лишние поля в аккаунте в форме редактирования платёжного адреса можно следующим образом:
function remove_adress_form_fields($fields) { unset( $fields ['company'] ); unset( $fields ['address_2'] ); unset( $fields ['postcode'] ); unset( $fields ['state'] ); return $fields; } add_filter( 'woocommerce_default_address_fields', remove_adress_form_fields' );
А вот вопрос с сортировкой пока не решила. Данный код почему-то не срабатывает в аккаунте.
$fields["email"]["priority"] = 3;
Форум: Проблемы и решения
Тема: Изменить платёжный адрес? Woocommerceспасибо за наводку на плагин, в идеале хотелось бы решить вопрос без установки плагина, прописать функцию по аналогии с тем, как это делается для оформления. Нет ли аналогичного способа для полей в аккаунте?
unset($fields['billing']['billing_company']);
Форум: Проблемы и решения
Тема: Изображение атрибута товара?мне прежде тоже ни разу нужно не было подобное, но по макету требуется.. Благодарю за рекомендации, это было полезно. Протестировала способ, но у меня это не работает, к сожалению. Поле кастомное добавилось, но оно не выводится при помощи данного кода, как там рекомендовано. Грусть, печаль, тоска. Придётся видимо картинки атрибутам через код руками вставлять
$term = get_queried_object(); $attr_id = wc_attribute_taxonomy_id_by_name( $term->taxonomy ); $my_field = get_option( "wc_attribute_my_field-$attr_id" );
Форум: Проблемы и решения
Тема: Изображение атрибута товара?Благодарю! Это вероятно то, что нужно. А будет ли это кастомное поле храниться в таблице (бд) с атрибутами или куда оно записывается? Его же потом как-то циклом наверное нужно будет выводить, не совсем понятно как подцепить это значение потом
Форум: Проблемы и решения
Тема: Изображение атрибута товара?вопрос не в стилизации, а в функционале — как обеспечить возможность контент-менеджеру добавлять картинки атрибутам через админку. Т.к. из коробки такой возможности нет.
Форум: WooCommerce
Тема: Кастомное поле в админке товараПреогромнейшее спасибо за подсказку! Это действительно работает. Уже не один час с ними зависаю, вы меня спасли. Я предполагала, что дело в самих надписях, в массиве просто как текст пробовала добавлять, но почему-то это не сработало. Главное в самой админке же текст отображался..а на фронте нет
Форум: Проблемы и решения
Тема: Перестал работать перевод темы AstraС ядром всё в порядке, т.к. другие темы при проверке отрабатывали хорошо. Проблему удалось решить) В дочерней теме была функция замены строки в поле поиска, я не знаю точно как именно это сказалось, но при откате всё снова заработало. Хоть и не с первого раза! При удалении самой функции ничего не работало, может какие-то изменения в бд она внесла. Непонятно в общем что это было..