Лента новостей

Кредит под залог недвижимости
Необходимость в займе финансовых средств может возникнуть как у частного лица, так и предприятия. Сегодня кредитование не является особенной проблемой и, например, получить кредит под залог недвижимости

Недвижимость
Наша великая Родина богата прекрасными населенными пунктами и городами с удивительной архитектурой и комфортными условиями жизни. Конечно, очень привлекательна в этом плане Новосибирск, который расположен

Недвижимость новая рига
Хотите почувствовать себя королями? Хотя нет, так наверное могут жить только боги недвижимость новая рига. Элитный поселок с замечательной архитектурой, открытым спа, бассейнами, фонтанами. Все находиться

Инвестиции в недвижимость Европы: тенденции 2017 года
Для инвесторов: обзор ключевых рынков европейской недвижимости в 2017 году. Недвижимость в Германии Доля недвижимости Германии в ВВП страны сегодня составляет 9,8%. Недвижимость в Германии отличалась

Дешевая Польская недвижимость
Если по какой-то причине мы решили продать квартиру, безусловно, мы хотим, чтобы это сделать как можно скорее и по лучшей цене. Тем не менее, для этого можно, мы должны быть готовы. Ничто не остановит

«Недвижимость» / Госкорпорации отказано в эффективности
По результатам проверки Счетной палатой деятельности Фонда содействия реформированию жилищно-коммунального хозяйства ( Фонд ЖКХ), площадь аварийного жилья в стране выросла на 1,6 млн. квадратных метров

Лизинг недвижимости
Обычно компании берут аванс - 10-20 % со ставкой удорожания 6-8 %, иногда 10-12% в год на срок от 2 до 10 лет, предлагая различные варианты графиков лизинговых платежей. занимаются примерно десяток компаний

Специалист по недвижимости
Наша компания стремиться дать широкие возможности, удобство в работе без лишних трат всем участникам рынка недвижимости Крыма. Аренда квартир, комнат, коттеджей, продажа в Санкт-Петербурге Гильдия риэлторов

Коммерческие помещения | Жилье, недвижимость > Коммерческие помещения | Киев | SLANET
class="top_line"> id="topnav"> class="subcolumns" id="logonav"> id="nav demo" class="hlist"> id="topnav"> id="header_tab"> id="content"> class="c75l"> class="c25r"> class="subcolumns"> class="c75l">

Юрист по недвижимости
При осуществлении такой юридически сложной и трудоемкой сделки, как покупка или продажа квартиры или участка земли, достаточно часто возникает необходимость обращения за специализированной юридической

Title, description і h1 для категорій (рубрик) Woocommerce

  1. Мета-поля на сторінці редагування категорії Woocommerce
  2. Title для категорій товарів Woocommerce
  3. Тема h1 для категорій товарів Woocommerce
  4. Відокремлений description для категорій Woocommerce
  5. Keywords для категорій товарів Woocommerce

Всім привіт! Сьогодні на seo-ayak.com на численні прохання читачів я почну розбирати плагін Woocommerce.

Не люблю я плагіни, тим більше ті, що свої таблиці в БД створюють, але Woocommerce, звичайно, виключення, так як це не звичайний плагін, а цілий окремий движок, зі своїм кодексом.

Плагін дуже популярний і думаю цілком заслужено, але як у всіх двигунах в ньому є багато недоробок, які ми і будемо намагатися виправити.

У мене немає чинного інтернет-магазину на Woocommerce, але я його створив на локальному сервері ( як створити локальний сервер ) І тепер буду над ним знущатися собі на втіху.

Сьогодні, так би мовити, по гарячих слідах, я розповім як вивести окремі: title, description, keywords і h1 для категорій товарів Woocommerce. Поїхали!

Мета-поля на сторінці редагування категорії Woocommerce

Треба сказати, що в Woocommerce, також як і в самому WordPress, передбачено маса різних хуков, за допомогою яких, не чіпаючи код плагіна, можна впливати на його функціонал.

Для виведення мета-полів на сторінці редагування категорій товарів ми будемо використовувати хук product_cat_edit_form_fields.

Відкриваємо для редагування файл functions.php, що знаходиться в папці з темою і вставляємо таку функцію.

/ * Мета-поля для категорій товарів * / add_action ( "product_cat_edit_form_fields", 'mayak_meta_product_cat'); function mayak_meta_product_cat ($ term) {?> <tr class = "form-field"> <th scope = "row" valign = "top"> <label> Тема (title) </ label> </ th> <td> <input type = "text" name = "mayak [title]" value = "<? php echo esc_attr (get_term_meta ($ term-> term_id, 'title', 1))?>"> <br /> <p class = "description"> Не більше 60 знаків, враховуючи пробіли </ p> </ td> </ tr> <tr class = "form-field"> <th scope = "row" valign = "top"> <label> Короткий опис (description) </ label> </ th> <td> <input type = "text" name = "mayak [description]" value = "<? php echo esc_attr (get_term_meta ($ term-> term_id, 'description ', 1))?> "> <br /> <p class =" description "> Короткий опис (description) </ p> </ td> </ tr> <tr class =" form-field "> <th scope = "row" valign = "top"> <label> Тема h1 </ label> </ th> <td> <input type = "text" name = "mayak [h1]" value = "<? php echo esc_attr (get_term_meta ($ term-> term_id, 'h1', 1))?> "> <br /> <p class =" description "> Заголовок сторінки </ p> </ Td> </ tr> <tr class = "form-field"> <th scope = "row" valign = "top"> <label> Ключові слова </ label> </ th> <td> <input type = "text" name = "mayak [keywords]" value = "<? php echo esc_attr (get_term_meta ($ term-> term_id, 'keywords', 1))?&gt;"> <br /> <p class = "description "> Ключові слова (keywords) </ p> </ td> </ tr> <? php}

Якщо хто робив мета-поля для звичайних категорій WordPress по моїй статті , То напевно звернули увагу, що функція відрізняється тільки назвою і хуком, тому другу функцію можна не створювати, а просто підключити хук product_cat_edit_form_fields.

У підсумку на сторінці редагування категорій товарів має з'явитися чотири нових поля:

Тепер нам треба зберегти дані в БД. Для це вставляємо ще одну функцію:

/ * Збереження даних в БД * / add_action ( 'edited_product_cat', 'mayak_save_meta_product_cat'); add_action ( 'create_product_cat', 'mayak_save_meta_product_cat'); function mayak_save_meta_product_cat ($ term_id) {if (! isset ($ _ POST [ 'mayak'])) return; $ Mayak = array_map ( 'trim', $ _POST [ 'mayak']); foreach ($ mayak as $ key => $ value) {if (empty ($ value)) {delete_term_meta ($ term_id, $ key); continue; } Update_term_meta ($ term_id, $ key, $ value); } Return $ term_id; }

Ця функція теж відрізняється тільки назвою і хукамі, тут також можна не створювати зайвого, а просто підключити хукі edited_product_cat і create_product_cat.

На цьому схожість закінчується. Йдемо далі.

Title для категорій товарів Woocommerce

Також, як у випадку зі стандартними категоріями WordPress, ми просто підмінимо title Woocommerce на свій.

У Woocommerce, втім як і в WordPress, для виведення title на сторінках категорій товарів використовується функція single_term_title (), в якій передбачено однойменний хук single_term_title, його-то ми і будемо використовувати для виведення свого title.

Вставляємо нижче в файл functions.php:

/ * Висновок title для категорій товарів * / add_filter ( 'single_term_title', 'mayak_filter_single_cat_title', 10, 1); add_filter ( 'single_term_title', 'mayak_poduct_cat_title', 10, 1); function mayak_filter_single_cat_title () {$ pci = get_queried_object () -> term_id; return get_term_meta ($ pci, 'title', true); } Function mayak_poduct_cat_title ($ pct) {if (empty ($ pct)) {$ pct = get_queried_object () -> name; } Return $ pct; }

Якщо поле title з якихось причин виявиться незаповненим, то заголовок title буде виводиться за замовчуванням, тобто з назви категорії.

Тема h1 для категорій товарів Woocommerce

Категорії Woocommerce скривджених нітрохи не менше стандартних категорій, може за винятком можливості виведення зображення, мало того, що такі сторінки складно просувати, це ще неправильно з комерційної точки зору.

Зрештою h1 призначений більше для користувачів і заголовок цілої рубрики повинен відрізнятися від назви в меню і давати біліше розгорнуте уявлення про сторінку.

Сьогодні ми виправимо цю ситуацію. функція:

if (strpos ($ _ SERVER [ 'SERVER_NAME']. $ _SERVER [ 'REQUEST_URI'], '/ product-category /')) add_filter ( 'woocommerce_show_page_title', 'mayak_woocommerce_product_cat_h1', 10, 2); function mayak_product_cat_h1 () {$ pch = get_term_meta (get_queried_object () -> term_id, 'h1', true); echo '<h1 class = "woocommerce-products-header__title page-title">'. $ pch. '</ h1>'; if (empty ($ pch)) {echo '<h1 class = "woocommerce-products-header__title page-title">'. get_queried_object () -> name. '</ h1>'; }} Function mayak_woocommerce_product_cat_h1 () {return mayak_product_cat_h1 ($ pch); }

Тут також передбачено виведення заголовка h1 з назви категорії товарів в випадки, якщо поле h1 з якихось причин виявиться порожнім.

У Woocommerce є хук woocommerce_show_page_title, який спрацьовує перед виведенням заголовка з назви на екран і якщо це хук задіяний, то заголовок з назви вже братися не буде, а буде виводиться наш h1.

Дуже зручний хук, в збірці WordPress такого немає.

У функції для h1 я задав css-класи, взяті з самого плагіна, але якщо є необхідність, можна вписати свої.

Відокремлений description для категорій Woocommerce

Тут я не буду вдаватися в подробиці, скажу лише, що, якщо поле «Короткий опис» не буде заповнено, то description буде виведений за замовчуванням, тобто взятий з опису категорії.

/ * Висновок description для категорій товарів * / add_action ( 'wp_head', 'mayak_description_product_cat', 1, 1); function mayak_description_product_cat () {if (is_product_category ()) {$ pcd = get_term_meta (get_queried_object () -> term_id, 'description', true); if (! empty ($ pcd)) {$ meta = '<meta name = "description" content = "'. $ pcd. '" />'. "\ n"; } Else {$ pcd = wp_filter_nohtml_kses (substr (category_description (), 0, 280)); $ Meta = '<meta name = "description" content = "'. $ Pcd. '" />'. "\ N"; } Echo $ meta; }}

У нас залишилося вивести ключові слова. Хтось може сказати, що поле keywords можна і не робити і частково вони мають рацію, але тільки почасти, так як Яндекс і інші менш значні пошуковики можливо, повторюю, можливо, враховують ключові слова, якщо вони складені за правилами.

Тому і нам не варто нехтувати keywords.

Keywords для категорій товарів Woocommerce

Функція проста і розписувати тут нічого:

/ * Висновок keywords для категорій товарів * / add_action ( 'wp_head', 'mayak_keywords_product_cat', 1, 1); function mayak_keywords_product_cat () {if (is_product_category ()) {$ pck = get_term_meta (get_queried_object () -> term_id, 'keywords', true); $ Aut = '<meta name = "keywords" content = "'. $ Pck. '">'. "\ N"; } Echo $ aut; }

На цьому у мене все. Якщо щось не виходить, пишіть в коментарях, постараюся допомогти і підписуйтесь на оновлення блогу, буде цікаво!

доповнення

Після впровадження вищеописаного функціоналу, багато веб-майстри нарікали, що на стартовій сторінці магазину в заголовок h1 виводитися слово «Product» (за замовчуванням «Магазин»).
Причина: просто відключається переклад.
Я написав функцію, в тіло якої можна вписати будь-який текст заголовка (Рядок №3):

add_filter ( 'woocommerce_show_page_title', 'mayak_product_shop_h1', 10, 2); function mayak_product_shop_h1 () {$ product = "Сюди можна вписати будь-який текст"; if (strpos ($ _ SERVER [ 'SERVER_NAME']. $ _SERVER [ 'REQUEST_URI'], '/ shop')) echo '<h1 class = "woocommerce-products-header__title page-title">'. $ Product. '</ H1>'; }

До зустрічі!

З повагою, Віталій Кирилов

Статті по темі:

Title, description, keywords і h1 для категорій (рубрик) WordPress
Картинки для категорій (рубрик) - зображення WordPress
Редактор для категорій (рубрик), міток і довільних таксономій
Шаблони для категорій WordPress. Як зробити каталог з рубрики
Категорії WordPress - терми і таксономії
wp_list_categories () - як виводити рубрики WordPress

Мета-поля для категорій товарів * / add_action ( "product_cat_edit_form_fields", 'mayak_meta_product_cat'); function mayak_meta_product_cat ($ term) {?
Php echo esc_attr (get_term_meta ($ term-> term_id, 'title', 1))?
Php echo esc_attr (get_term_meta ($ term-> term_id, 'description ', 1))?
Php echo esc_attr (get_term_meta ($ term-> term_id, 'h1', 1))?
Php echo esc_attr (get_term_meta ($ term-> term_id, 'keywords', 1))?
Gt;"> <br /> <p class = "description "> Ключові слова (keywords) </ p> </ td> </ tr> <?