Как добавить миниатюру к любой таксономии


Содержание материала:

Создание таксономий для произвольных типов записей WordPress

Здравствуйте уважаемые читатели блога WP Developer. В прошлой статье я рассказывал о таксономиях: что это такое, привел пример стандартных таксономий в WordPress и описал как добавить таксономию к записям. Сегодня я хотел бы поговорить о том, как создавать таксономии для произвольных типов записей. Алгоритм создания таксономий для стандартных и произвольных типов записей схож, за исключением небольших нюансов. Но, в общем, об этом ниже.

Шаг 1. Создание произвольного типа записей

Первым делом необходимо создать новый произвольный тип записей. В нашем примере назовем его Магазин . Для этого в файл functions.php Вашей темы необходимо добавить следующий код.

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

Если Вы хотите, чтобы созданный тип записей отображался в навигационном меню, то не забудьте элементу show_in_nav_menus присвоить значение true .

Шаг 2. Создания таксономии

На этом шаге мы должны создать новую таксономию и связать ее с только что созданным новым типом записей — Магазин . Для этого в файл functions.php добавьте следующий код.

На строке 34 текущего кода мы указали название для новой таксономии, а на строке 35 связали ее с новым типом записей — shop . Теперь меню с разделом Магазин в админ-панели выглядит так, как показано на рисунке ниже.

Как видно из рисунка, появился новый подпункт под названием Товары . Это как раз и есть добавленная нами таксономия. Вид добавления поста для нового типа записей выглядит так:

Справа появился новый блок Товары , в который я добавил рубрику Часы . А вот так выглядит навигационное меню, когда в него добавлены наш произвольный тип записей и новая таксономия:

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

Шаблон вывода для произвольной таксономии

Настройки ЧПУ (постоянных ссылок)

Здесь изначально я советую пройти в ЧПУ (Настройки->Постоянные ссылки) . Желательно, чтобы настройки были примерно такими /%category%/%postname%.html или /%postname%/ . На рисунке ниже показано, как сделано у меня.

Создание шаблона для произвольной таксономии

Теперь, когда мы настроили постоянные ссылки, пришла пора создания шаблона для нашей таксономии. Лично я использую 3 способа создания таких шаблонов, а точнее 3 способа их названия. Ниже они описаны согласно приоритету поиска CMS WordPress:

  • taxonomy-.php — значения в скобках расшифровываются так taxonomy-<название-таксономии>—<название-термина-таксономии>.php . Например, можно назвать шаблон taxonomy-goods-clock.php и он будет выводить статьи из таксономии goods , термином которой является clock (часы) ;
  • taxonomy-.php — taxonomy-<название-таксономии>.php . Например, taxonomy-shop.php ;
  • taxonomy.php — использую реже всего, если знаю, что заведомо на сайте будет только одна таксономия.

Остается добавить в файл код вывода и все будет работать.

Шаблон вывода для произвольных типов записей

В своей практике я использую 2 вида названия шаблонов для вывода поста из произвольных типов записей:

Вывод списка рубрик с изображениями

Бывают ситуации когда хочется вывести список рубрик с картинками. Не всегда это оправдано, но если сильно хочется, то почему бы и нет.

  • Способ первый. Плагин Taxonomy Images
  • Добавляем изображения к рубрикам
  • Выводим рубрики с картинками используя плагин Taxonomy Images
  • Способ второй. Плагин Categories Images
  • Добавляем картики
  • Выводим картинки в рубриках с помощью плагина Categories Images
  • Итоги
  • Документация и ссылки

Задача будет состоять из 2 пунктов:

  • необходимо прилепить изображения к рубрикам;
  • вывести такие рубрики с изображениями в нужном месте сайта.

Всегда есть несколько путей решения одной и той же задачи. Вышеозвученную задачу можно решить двумя способами.

Способ первый. Плагин Taxonomy Images

Добавляем изображения к рубрикам

Добавлять картинки будем с помощью плагина Taxonomy Images. После установки плагина необходимо сделать следующее:

1. Выбрать нужные таксономии (в том случае, если их у вас несколько)

2. Добавить нужные изображения к рубрикам. После установки плагина, у вас появятся дополнительные возможности в разделе Рубрики

Нажимаете на плюсик и выбираете нужные изображения. Все очень не сложно.

Выводим рубрики с картинками используя плагин Taxonomy Images

Правда, пришлось его немного модифицировать, потому что получался какой-то не правильный html-код и к нему сложно было стили прилепить. В итоге получилось так:

Обратите внимание!

Параметр thumbnail — указывает размер изображения, который будет выводиться. Сами размеры берутся из настроек WP (Настройки — Медиафайлы — Размер миниатюры), по умолчанию стоит размер 150х150.
Параметр category — указывает название таксономии. По умолчанию, стоит category при необходимости указывайте нужную таксономию, например catalog или portfolio .

Способ второй. Плагин Categories Images

Плагины выполняют один и тот же функционал, но у Categories Images, на мой взгляд, удобнее сделано добавление изображений и вывод списка рубрик в нужном месте.

Добавляем картики

Как видите, картинки можно добавлять сразу на стадии создания рубрик, что иногда бывает удобно. Ну и, конечно, можно исключить не нужные таксономии

Одним словом, выбираете нужный вам способ, самое главное — прилепить изображения к рубрикам.

Выводим картинки в рубриках с помощью плагина Categories Images

В нужном месте темы, размещаем следующий код

Итоги

Оба способа рабочие. Так что выбирайте любой, единственно, мне больше понравилось выводить через плагин Categories Images, как-то с ним проще и удобнее…

Как добавить к таксономиям индивидуальные значки — Taxonomy Images Plugin

Часто пользователи спрашивают, как можно добавить индивидуальные значки к категориям и тегам. И хотя я предпочитаю использовать свой велосипед, посоветую все же использовать более универсальный способ — Taxonomy Images Plugin. Этот плагин позволяет очень легко назначить любой таксономии (категории, теги, любые пользовательские таксономии) картинки. Наглядное представление категорий в виде значков иногда является более удобным для восприятия, нежели чем просто их названия.

После установки и активации плагина в разделе настроек блога появится пункт Taxonomy Images — список таксономий с миниатюрами. Такие же миниатюры появятся и в списке любой таксономии. Кликнув по миниатюре, вы можете указать изображение для данной таксономии. Не используйте слишком большие изображения, и лучше, чтобы они были квадратными, идеально подойдет картинка PNG 64 на 64 px.

Посмотрите скринкаст, демонстрирующий работу плагина и его настройку:

Добавление поля с картинкой в редактор таксономии WP

Таксономия (словари) WordPress может быть модифицирована под любые нужды проекта. Для этого CMS предоставляет мощное API, благодаря которому есть готовые решения. Т.е. плагины, позволяющие добавить нужные поля в базовые и кастомные словари, в том числе подключить миниатюры. Ниже рассмотрим некоторые из этих решений.

Если не хотите устанавливать плагины, предпочитая решать мелкие задачи своими силами: в API есть все для того, чтобы запрограммировать нужные поля. При этом есть два подхода к решению задачи.

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

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

Плагины для подключения картинки в таксономию

Toolset Types

Мощный плагин, позволяет настраивать как типы публикаций, так и конструировать таксономию. Новичку, наверное, будет сложно быстро разобраться что к чему, но в итоге вы получаете конструктор, решающий все задачи по настойке и конфигурации полей сущностей сайта (публикаций и словарей) на WP.

Данные сохраняются в таблицы meta полей.

Возвращаясь к теме публикации :), я попробовал работать с полем «изображение».

Какие минусы обнаружились?

  • В базу сохраняется не код выбранной в редакторе картинки из медиа библиотеки, а url её оригинала (т.н. перый подход).
  • Не удалось сделать привязку набора полей к конкретному словарю. Поля появились во всех словарях сразу.

Category and Taxonomy Images

Этот плагин решает конкретно нашу задачу, т.е. добавляет поле выбора картинки в редактор терминов.

После включения в настройках появляется пункт — «Taxonomy image». Вам остаётся выбрать словари, куда будет добавлено поле селектора картинки.

Плагин реализует первый подход, который сохраняет URL изображения, выбранного из медиа-библиотеки. Данные сохраняются в общую таблицу options сайта, что не очень хорошо, т.к. для метаданных таксономии есть специальная таблица. Для каждой связи создаётся отдельный уникальный ключ.

Taxonomy Images

Активация плагина добавляет в меню «настройки» пункт — «Taxonomy images». Выберите словари, в которые нужно добавить поле миниатюры. Эта часть очень похожа на предыдущее описание.

Плагин выводит миниатюры в список терминов в админке, а настройки сохраняет в общую таблицу options . Причем все связи хранятся в одной переменной в виде массива. Важный момент в том, что сохраняется ID вложения, а не URL.

Два последних плагина давно не обновлялись, потому немного «отстали» от новшеств WP — а именно обновления API в части работы с meta полями таксономии. Из этих двух последних я бы отдал предпочтение второму — «Taxonomy Images».

Данная запись опубликована в 04.07.2020 17:04 и размещена в wordpress. Вы можете перейти в конец страницы и оставить ваш комментарий.

Мало букафф? Читайте есчо !

Ошибка соединения с базой данных wordpress

Если вы вместо вашего сайта на wordpress увидели данную надпись Error establishing a database connection This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server .

Как вывести категорию товаров Woocommerce в нужном месте?

Woocommerce показывает каталог товаров (витрину) на странице — /shop/, которая создаётся автоматически при установке плагина. Здесь выводятся .

Как создать шаблон страницы произвольной таксономии (для вывода списка категорий в виде ссылок)?

— На вордпресс-сайте зарегистрирован произвольный тип записи (Custom Post Type): movies («Фильмы»);
— Для записей типа «movies» зарегистрирована произвольная таксономия genres («Жанры фильмов»);
— Таксономия «genres» содержит несколько категорий: comedy , thriller , melodrama , и т.д.

    Для создания шаблона отдельной записи типа «movies» — использую файл single-movies.php
    (*для страницы вида: site.ru/movies/post-o-filme-nomer-odin/ )

Для создания шаблона страницы каталога всех записей типа «movies» — использую файл archive-movies.php
(*для страницы вида: site.ru/movies/ )

Для создания шаблона отдельной страницы конкретной категории из произвольной таксономии «genres» — использую файл taxonomy-genres.php
(*для страницы вида: site.ru/genres/comedy/ )

  • Вопрос: Как создать шаблон страницы произвольной таксономии, в данном случае — шаблон страницы произвольной таксономии «genres» ?
    (*для страницы вида: site.ru/genres/ )
  • — То-есть нужно сделать так, чтобы при переходе на страницу: site.ru/genres/ — использовался бы уникальный шаблон (в котором соответственно необходимо прописать код для вывода списка категорий в виде ссылок — *для этих целей, на сколько я понимаю, можно использовать wp_list_categories() , предварительно в строке ‘taxonomy’ => ‘category’, заменив ‘category’ на нужную произвольную таксономию ‘genres’).

    *Сейчас на странице вида: site.ru/genres/ — вордпресс вызывает шаблон главной страницы — index.php . А нужно, чтобы вызывался отдельный шаблон страницы произвольной таксономии.
    *Создание файла шаблона с именем archive-genres.php не сработало — либо что-то сделал не так, либо шаблон вида «archive-$posttype.php» можно применять только для типов записей, а не для таксономий.

    Как создать шаблон страницы произвольной таксономии (для вывода списка категорий в виде ссылок)?

    Добавляем рубрику, свою таксономию и метки для медиафайлов WordPress

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

    Представьте, как это могло бы быть полезно: вы могли бы создать динамические галереи изображений из отдельных мест или отдельных типов (пейзажи, абстракция), или вы могли бы создать страницы-списки для сайтов с большим количеством прикрепленных PDF файлов.

    | Скачать исходники |

    Хорошая новость: это на удивление просто сделать! Вы сможете добавить рубрики и метки к вашим прикрепленным файлам, добавив простой код в файл functions.php вашей темы или плагин, вы также сможете создать свою таксономию, которая будет применима к прикрепленным файлам.

    В этом руководстве я покажу вам, как это сделать и очень быстро — это займет не больше 10 минут!

    Что такое таксономия?

    Таксономия — одно из слов, которые большинство людей никогда не слышат и не используют. В принципе, таксономия — способ группировать вещи.

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

    В WordPress «таксономия» — механизм группирования для некоторых записей (или ссылок, или типов постов).

    Что вам нужно, чтобы применить это руководство

    • Установленный WordPress.
    • Доступ к файлу functions.php вашей темы или FTP доступ, чтобы вы могли создать или загрузить плагин.
    • Текстовый редактор.

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

    Подготовка: Редактирование медиа

    Страница редактирования медиафайлов сама по себе достаточно бедна, там нет рубрик, меток или таксономий:

    По умолчанию у вас нет возможности выбрать какую-то существующую рубрику или метку — но вы можете это изменить.

    Применение рубрик

    Первый шаг — включение рубрики для прикрепленных файлов. Вы можете сделать это с помощью функции register_taxonomy_for_object_type() . В файл плагина или файл functions.php вашей темы добавьте следующее:

    Сохраните файл и обновите страницу редактирования медиа. Вы увидите, что рубрики теперь доступны:

    Также колонка для рубрик появится в медиа-библиотеке, как видите:

    Применение меток

    Если вы предпочитаете работать с метками, а не с рубриками (или и с тем, и с другим), вы можете использовать ту же функцию. Добавьте следующий код в файл темы или плагина:

    Подобно предыдущему варианту, это добавит метки на страницу редактирования медиафайлов:

    Это также добавит колонку меток в медиа-библиотеку:

    Копнем глубже: своя таксономия

    Может случиться, что вы не захотите работать с существующими рубриками или метками при классификации ваших медиафайлов, в таком случае вы можете зарегистрировать свою таксономию и применить ее к типу записи ‘attachment’.

    В примере выше я добавил к моему изображению метку, чтобы показать, откуда оно было взято. Допустим, я хочу создать иерархическую таксономию под названием ‘Locations’, которую я смогу использовать для классификации и отображения всех моих изображений.

    Вы можете сделать это с помощью функции register_taxonomy() . Добавьте в файл темы или плагина следующее:

    Этот код создаст новую иерархическую таксономию, которая будет использоваться только для прикрепленных файлов.

    Если вы хотите применить ее для других типов контента, вам нужно заменить параметр ‘attachment‘ в функции register_taxonomy() на массив, содержащий сокращения для всех типов контента, которые вы хотите включить.

    Теперь страница редактирования медиафайлов отображает новую таксономию:

    Поскольку в свой код я включил аргумент ‘show_admin_column‘, страница медиа-библиотеки тоже ее включает:

    Все! Теперь у вас есть рубрики, метки и свой тип записи для работы с прикрепленными медиафайлами.

    Итог и использование этого подхода

    Как вы увидели, вы можете применить рубрики и метки к прикрепленным медиафайлам, используя функцию register_taxonomy_for_object_type() . Вы также можете создать новую таксономию с помощью register_taxonomy() и применить ее к прикрепленным файлам (только к ним или также к другим типам контента).

    Применение таксономий (в т.ч. рубрик и меток) к прикрепленным файлам можно использовать на практике:

    • Создать свой шаблон attachment.php чтобы отображать прикрепленные изображения в виде галереи, используя страницы архива для отображения изображений из разных рубрик.
    • Создать файл шаблона для отдельных таксономий или терминов для разного отображения прикрепленных изображений — например используя таксономию ‘location’ вы можете создать файл шаблона location-uk.php чтобы показывать архив изображений из UK в каком-то специфическом стиле.
    • На сайте с большим количеством прикрепленных PDF файлов вы можете разбить их по категориям и использовать страницы архива для отображения этих файлов по теме, разделу, типу — так, как будет нужно вашему проекту.
    • В файле шаблона для определенной таксономии помимо списка записей по теме отображать список на все прикрепленные файлы с прямыми ссылками на файлы — вам нужно будет использовать для этого всего два запроса.

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

    Источник: WP.tutsplus.com

    Насколько полезным был этот пост?

    Нажмите на звезду, чтобы оценить этот пост!

    Средний рейтинг: 5 / 5. Количество голосов: 1

    Как добавить иконки к рубрикам и другим таксономиям в WordPress

    Хотите добавить изображения к своим рубрикам, меткам и другим таксономиям в WordPress? Таксономии – это способ группирования разных вещей в WordPress. Рубрики и метки – базовые таксономии, которые встроены в WordPress. В данной статье мы покажем вам, как добавить иконки к рубрикам и другим таксономиям в WordPress.

    Зачем добавлять изображения к таксономиям?

    Произвольные типы записей и таксономии делают WordPress полноценной CMS (системой управления контентом). По умолчанию WordPress идет вместе с рубриками и метками – это две дефолтных таксономии, которые вы можете использовать для сортировки ваших записей.

    Также вы можете создавать ваши собственные произвольные таксономии и связывать их с любым типом записей на вашем WordPress-сайте. Это поможет пользователям получить контент, находящийся в данных таксономиях.

    Изображения для таксономий – это миниатюры или иконки, которые применяются к термам в каждой таксономии.

    К примеру, каждая рубрика на вашем сайте может иметь свою собственную иконку, которая выводится на страницах архивов, в списках рубрик и т.д.

    Давайте посмотрим, как добавить изображения к таксономиям в WordPress.

    Добавление изображений к таксономиям в WordPress

    Первое, что нам понадобится – это установить плагин Taxonomy Images. После его активации вам нужно будет посетить страницу Settings » Taxonomy Images, чтобы задать настройки плагина.

    Вы увидите список таксономий, доступных для WordPress-сайта. Выбираем таксономии, которые нам нужны, после чего щелкаем по кнопке Save Changes.

    На скриншоте выше мы включили изображения для рубрик.

    Чтобы добавить изображения к каждой рубрике, вам нужно перейти на страницу Posts » Categories (Записи – Рубрики). Если вы включили изображения для других таксономий, вам нужно будет посетить соответствующую страницу таксономии в панели администратора WordPress.

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

    Щелкаем по кнопке добавления, которая находится сразу под изображением-заполнителем. Появится базовое всплывающее окно для загрузки медиа в WordPress.

    Вы можете выбрать изображение из вашей медиатеки WordPress или загрузить новое. После этого добавьте изображения ко всем остальным термам в вашей таксономии.

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

    Вывод изображений для таксономий на сайте WordPress

    Чтобы вывести на экран изображения для таксономий на WordPress-сайте, необходимо отредактировать вашу тему (или дочернюю тему).

    Во-первых, вам нужно будет подключиться к своему сайту по FTP.

    После соединения с сайтом вам нужно будет найти шаблон, отвечающий за вывод архивов ваших таксономий. Это может быть файл archives.php, category.php, tag.php или taxonomy.php.

    Вам необходимо загрузить файл на свой компьютер и открыть его в текстовом редакторе, таком как Notepad++ или TextEdit.

    Вставьте следующий код в том месте, где вы хотите вывести ваше изображение таксономии. Обычно этот код добавляется перед заголовком таксономии или тегом the_archive_title().

    После добавления кода сохраните файл и загрузите его обратно на сайт по FTP.

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

    Для стилизации изображения можно прибегнуть к CSS.

    Опытные пользователи могут найти примеры кода на странице плагина.

    Как добавить картинку кастомной таксономии

    Вы хотите добавить изображение, картинку, иконку пользовательской таксономии в WordPress? Таксономии — это способ классификации информации в WordPress. Категории и теги — это две таксономии по умолчанию, встроенные в каждый блог WordPress. В этой статье я покажу вам, как добавлять изображения таксономии в WordPress. Другими словами, вы сможете добавлять иконки изображений для ваших категорий, тегов и других пользовательских(кастомных) таксономий.

    Зачем добавлять изображения таксономии в WordPress?

    Стандартно вордпресс содержит два типа таксономий для сортировки информации: рубрики и метки, ещё их называют категории и теги. Вы также можете создать свои собственные таксономии и связать их с любыми типами постов на вашем сайте. Это позволяет вашим пользователям просматривать все остальное содержимое в соответствии с этими таксономиями.

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

    Как добавить картинку таксономии?

    Сделать это можно несколькими способами: прописать код в файле functions.php вашей темы или установить плагин для этого. Сегодня мы установим плагин, чтобы не тратить много времени на написание кода.

    Нам понадобится плагин Taxonomy Images.

    Расширение таксономий WordPress

    Что такое таксономии / пользовательские таксономии WordPress?

    По сути таксономии — это способ группировки информации.

    WordPress использует собственные встроенные таксономии категорий и тегов, чтобы обеспечить группировку типов контента и по умолчанию применяет их к типу контента posts . Эти таксономии состоят из одного или нескольких терминов, чьи названия, как правило, используются для группировки элементов.

    Иногда вам вполне достаточно стандартных таксономий, в то время как иногда могут потребоваться дополнительные способы группировки контента, что вызвано вашими потребностями. Именно в таких случаях пользовательские таксономии могут оказаться исключительно полезными.

    Пользовательские таксономии позволяют задавать собственные имена и структуру для организации записей. Вы можете создать новую таксономию под названием grade_ranking , которая будет обрабатывать ранжирование записей по шкале с такими значениями, как pass , credit , distinction и high distinction .

    Стандартная информация для таксономий

    При определении таксономии вам нужно указать, будет ли это таксономия hierarchical или non-hierarchial . Это задает то, как будет группироваться информация в вашей таксономии.

    hierarchical ( иерархические ) таксономии работают подобно категориям, что позволяет создавать термины различных уровней ( можно назначать родительские и дочерние термины ).

    non-hierarchial (не иерархические) таксономии действуют как теги, где все термины принадлежат одному уровню.

    Пользовательские таксономии позволяют вводить следующую информацию для каждого из терминов:

    • Имя: определяет имя, используемое для термина, оно показывается конечному пользователю. Применяется и к категориям, и к тегам;
    • Slug : определяет URL -адрес, используемый для термина ( как правило, состоит из символов нижнего регистра, разделенных тире ). Применяется и к категориям, и к тегам;
    • Родительский элемент: позволяет определить, является ли термин родительским элементом верхнего уровня или это дочерний термин. Относится только к иерархическим таксономиям, таким как категории;
    • Описание: краткое описание того, что содержит этот термин. Показывается на странице списка терминов ( когда вы кликаете по ссылке, чтобы просмотреть сам термин ).

    Это все, что предоставляет WordPress в отношении ваших терминов.

    Расширение таксономий

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

    WordPress предоставляет ряд обращений ( hooks ), которые можно использовать для изменения панели администрирования таксономии, и которые помогают в процессе сохранения дополнительной информации.

    В этой статье мы будем расширять таксономию по умолчанию category . Вы можете легко расширить и встроенные таксономии, и таксономии, которые вы создали сами, но для простоты мы будем изменять существующую таксономию.

    С чего начнем?

    WordPress предоставляет два основных способа, с помощью которых можно создать термины таксономий:

    • Создание через панель администрирования таксономий;
    • На лету при редактировании типа записи, который связан с таксономией.

    Например, вы можете создать термин таксономии категории, такой как featured или sponsored , либо в меню администрирования категории ( определив имя, slug, описание и т.д. ), либо путем их создания непосредственно из панели редактирования записи или страницы ( с помощью мета-бокса категории, добавив новую категорию динамически ).

    Поскольку мы хотим сохранить дополнительную информацию о наших терминах, мы будем использовать панель администрирования таксономии, так как таким способом добавлять, редактировать и удалять термины правильнее.

    Что нужно изменить?

    При работе с таксономией вы будете работать и с панелью редактирования, и с панелью добавления терминов. Соответственно эти панели предназначены для добавления нового термина и редактирования существующего. WordPress предоставляет ряд обращений, которые предназначены для того, чтобы помочь вам подключить определенный функционал, а также дать вам возможность просто изменить базовый функционал.

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

    В этой статье мы будем добавлять дополнительные элементы формы, чтобы вы могли собрать больше информации о категориях. Мы настроим захват информации с помощью следующих элементов:

    Это наиболее распространенные элементы форм, таким образом, вы получите лучшее представление о том, как можно расширить таксономию и сохранить дополнительную информацию.

    Изменение панели добавления категории

    Первое, что нам нужно будет изменить, это панель добавления категории. Через это меню вы, как правило, будете добавлять все ваши категории, и через него нужно будет сохранять дополнительную информацию.

    Мы должны использовать обращение category_add_form_fields .

    Обращение category_add_form_fields используется для добавления дополнительной информации в панель администрирования категории.

    Это обращение принимает один аргумент, которым является имя самой таксономии. Оно позволяет добавить дополнительную информацию в панель администрирования категории, поэтому сначала нам нужно будет определить функцию, которая выводит для нас несколько полей.

    Следующий код должен быть добавлен в файл functions.php вашей темы ( или другой файл, который вы используете для своего кода ):

    Теперь, когда наша функция определена, все что нам нужно сделать, это подключить ее к обращению category_add_form_fields , и оно будет активировать функцию при выводе панели добавления категории. Мы будем делать это через вызов функции:

    После этого в вашей панели администрирования категории должны появиться дополнительные поля, которые мы определили в нашей функции. Она должна выглядеть следующим образом:

    В качестве дополнительного совета: когда вы определяете поля, которые должны быть добавлены в панель, вы, как правило, обертываете их в класс form-field , это гарантирует, что содержащиеся элементы ввода будут выводиться на всю ширину панели.

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

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

    Сохранение новой информации о категории

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

    Нам нужно будет подключить функцию к другому обращению, чтобы вызвать действие сохранения. Это обращение create_category . Функция, которую мы создадим, будет обрабатывать сохранение информации нашего термина.

    При сборе информации, которая будет напрямую записываться в базу данных WordPress , всегда нужно проверять безопасность данных. Мы можем использовать ‘sanitize_text_field($string)’ , чтобы проверить безопасность строк, убрать все теги, удалить разрывы строк, отступы и преобразовать значимые символы, такие, например, как :

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

    Данная функция принимает один параметр, ID нового сохраняемого термина.

    Имея этот ID , мы можем вызвать функцию get_term($term_id,$taxonomy_name) .

    Эта функция принимает два параметра, ID самого термина и имя таксономии. Так как мы знаем идентификатор самого термина, а также то, что мы имеем дело с таксономией category , теперь мы можем получить доступ к объекту термина.

    Мы собираем значение slug из термина объекта и сохраняем его. После этого мы собираем все четыре значения новых полей из объекта $_POST . Наконец мы вызываем другую функцию update_option($option_name,$option_value) .

    Эта функция позволяет создавать новую запись в таблице опций WordPress , чтобы с ее помощью мы могли сохранить наше значение. Все, что нужно этой функции, это название новой опции и ее значение. Мы вызываем данную функцию четыре раза, по одному разу для каждого из новых полей.

    Например, если мы создаем новую категорию под названием test, когда мы сохраняем информацию из текстового поля, имя опции будет term_category_textarea_test , когда сохраняем данные из поля выбора вариантов, имя будет — text_category_select_test и т.д. Мы добавляем для этих полей slug в конце имени, чтобы обеспечить уникальность значений ( так как все значения slug являются уникальными ).

    Теперь нам нужно подключить эту функцию к обращению create_category :

    Изменение панели редактирования категории

    Теперь, когда у нас есть новые элементы полей, отображающиеся в панели добавления категории, и они сохраняются в базе данных, в качестве опций, нам нужно изменить панель редактирования категории, и предварительно назначить все новые значения ( чтобы они могли быть обновлены при необходимости ).

    Для отображения наших дополнительных полей нам нужно будет подключиться к обращению category_edit_form_fields .

    Обращение category_edit_form_fields используется для вывода дополнительных полей в панели редактирования категорий. Это обращение принимает одно значение — сам объект термина. Так как это обращение будет иметь доступ к самому объекту термина, нам будет очень просто собрать информацию.

    Мы должны создать функцию, которая будет выводить дополнительные поля и предварительно заполнить их сохраненной ранее информацией. Поскольку у нас теперь есть доступ к объекту термина, это будет легко:

    Эта функция использует свой предыдущий объект term для доступа к slug самого термина. С помощью этого slug , она ищет четыре сохраненных значения пользовательских полей, используя функцию get_option($option_name) .

    Эта функция ищет опции с указанным именем и присваивает им значения. В нашем случае мы ищем четыре значения полей и присваиваем их переменным.

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

    Способ, с помощью которого мы предварительно заполняем наши пользовательские поля, отличается для каждого типа полей.
    Вот что мы делаем:

    • Текстовое поле — для текстового поля мы назначаем значение непосредственно его атрибуту value , который будет предварительно заполняться сам собой;
    • Поле текстовой области — для текстовой области мы выводим ее значение непосредственно между тегами , вследствие чего значение выводится в элементе текстовой области;
    • Поле выбора вариантов — для выбора вариантов мы сначала создаем элемент выбора вариантов и все связанные с ним параметры. Мы добавляем для элемента выбора вариантов атрибут, который называется value , и заполняем его нашим сохраненным значением ( это очень похоже на то, как мы разобрались с текстовым полем ). Даже с учетом того, что мы выводим все возможные значения списком, нам все равно нужно определить, какой вариант в данный момент назначен. Поэтому мы перебираем каждый из возможных вариантов выбора в элементе и определяем, совпадает ли его значение, с тем значением, которое мы собрали ранее. Если так, то в данный момент он является выбранным вариантом. Мы используем оператор IF , и, если он определяет совпадение значения опции с атрибутом selected , то данный вариант используется браузером, как вариант по умолчанию;
    • Поле переключателя опций — для этого поля мы выводим опции непосредственно на страницу и определяем, соответствует ли их значение значению, сохраненному в базе данных. Если это так мы используем оператор IF для вывода в поле атрибута checked . Этот атрибут указывает браузеру принять эту опцию в качестве значения по умолчанию ( во многом это похоже на обработку вывода поля выбора вариантов, так как мы должны указать браузеру, какую опцию выводить ).

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

    Все, что теперь нам осталось сделать, это подключить нашу новую функцию к обращению category_edit_form_fields , и тогда она будет выполняться, когда мы вызываем панель редактирования терминов:

    После подключения этой функции ваш экран редактирования категории должен обновиться, и в нем появятся дополнительные поля и значения. Теперь он выглядит следующим образом:

    Сохранение обновленной информации о категории

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

    К счастью, у нас уже есть такая функция. Ранее мы создали функцию save_extra_taxonomy_fields($term_id) , которую мы использовали при добавлении нового термина в категорию.

    Мы можем вызвать эту функцию при обновлении категории, подключив ее к другому обращению. Мы подключаем нашу функцию save_extra_taxonomy_fields($term_id) к обращению edit_category , и когда мы обновляем категорию, эта функция будет сохранять информацию:

    Расширение пользовательских таксономий

    Пользовательские таксономии могут быть расширены тем же образом, что и встроенные ( категории и теги ).

    Единственное, что нужно будет изменить, это имена используемых обращений.

    Для категорий вы должны использовать следующие обращения:

    • category_add_form_fields – добавление полей в панель добавления новой категории;
    • category_edit_form_fields – добавление полей в панель редактирования категорий;
    • create_category – используется, когда вы хотите сохранить новые термины категории;
    • edit_category – используется, когда вы хотите обновить термины категории.

    Эти обращения соединяют вас с областями, которые необходимо отредактировать, что позволяет сохранять и извлекать дополнительную информацию.

    Для пользовательской таксономии они будут очень похожи, обращения, которые вы должны использовать, динамические, и основаны на имени вашей таксономии. Это могут быть:

    • $TAXONOMY_NAME_add_form_fields ;
    • $TAXONOMY_NAME_edit_form_fields ;
    • create_$TAXONOMY_NAME ;
    • edit_$TAXONOMY_NAME .

    Например, если вы зарегистрировали собственную таксономию под названием members , ваши обращения будут называться:

    • members_add_form_fields ;
    • members_edit_form_fields ;
    • create_members ;
    • edit_members .

    Вы должны следовать этой общей схеме и применять ее к вашим пользовательским таксономиям. Тогда у вас будет возможность редактировать эти панели и сохранить информацию, как вам нужно.

    В заключение всего этого

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

    Вы можете получить доступ к конкретным терминам с помощью get_term($term_name,$taxonomy_name) , а затем оттуда вы можете использовать slug , так как вы уже получили доступ к дополнительной информации, извлекаемой из таблицы опций WordPress .

    Вы можете редактировать файлы своих дочерних тем и другие ресурсы, чтобы воспользоваться этой новой информацией. Я бы начал с редактирования файла category.php или tag.php , если вы изменили эти таксономии, чтобы подтянуть новую информацию.

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

    Данная публикация представляет собой перевод статьи « Extending WordPress Taxonomies » , подготовленной дружной командой проекта Интернет-технологии.ру

    Создание миниатюр или автоматическая генерация миниатюр в WordPress.

    Из статьи ты узнаешь :

    Пламенный привет всем вебмастерам, сегодняшняя статья на блоге WebMasterMaksim.ru, будет посвящена вопросу создания и авто генерации миниатюры WordPress, вы узнаете, что это такое, зачем это нужно и как с этим работать.

    Лучший брокер

    Итак, буду краток и внятен насколько это возможно, для чего вебмастеру может понадобиться создание миниатюр?

    Для чего нужно создавать миниатюры в WordPress.

    Создавать миниатюры нам может понадобиться в следующих случаях:

    1. Для вывода миниатюр в анонсы статей — допустим в статье вы размещаете большую картинку, а в анонсе на главной нужно вывести маленькую.
    2. Создание миниатюр может понадобиться для многих тем WordPress, надеюсь многие из вас видели блоги, где выводятся последние, популярные, а также похожие статьи, а рядом около каждой ссылки стояла маленькая картинка, так вот если не создать миниатюру, то это маленькое изображение выводиться не будет.
    3. Также создание мини-картинок вам понадобиться, если вы собрались использовать плагин для вывода списка статей с превьюшками (маленькими-картинками к записи), допустим в конце каждой статьи выводить список похожих материалов при помощи картинок с надписями.
    4. Можно настроить вывод мин картинок в RSS WopdPress.

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

    Создание миниатюр или автоматическая генерация миниатюр в WordPress

    А таких плагинов в данный период времени очень много, это различные слайдеры, вывод похожих, последних, популярных, комментируемых статей с картинками, и вот для таких плагинов к каждой статье нужно создать миниатюру.

    7,0,1,0,0

    Как создать миниатюру в WordPress.

    Ваша тема WordPress должна поддерживать создание миниатюр, это можно проверить зайдя в админке в записи, и выбрать любую или создать новую, и в правой колонке, где находятся разделы: опубликовать, рубрики, метки в самом низу должен быть еще один раздел «Миниатюра записи» в котором должна быть ссылка «Задать миниатюру» (в зависимости от перевода, могут быть другие словосочетания, допустим раздел может называться «характерные изображения», а ссылка «установить специальное изображение»).

    создание миниатюр в теме wordpress

    Если данный раздел при создании записи у вас существует, то значит ваша тема WordPress поддерживает создание миниатюр.

    Для создания мини-картинки вам требуется нажать на «Задать миниатюру» и вы перенесетесь в раздел создания материала, где обычно мы закачиваем изображения в статью.

    Предположим, что статья у нас уже создана, и картинки закачены, нам лишь остается создать мини-картинку для этой записи, для этого жмем «галерея», выбираем из списка нужное нам изображение и жмем на кнопку «показать».

    создание миниатюр в записи wordpress

    Перед нами раскроются все настройки данного изображения, которые мы уже должны были все отредактировать при создании записи, но нас интересует кнопка «Использовать как миниатюру»

    кнопка «Использовать как миниатюру»

    Жмем на эту кнопку и ждем появления слова «готово», после этого закрываем окно и видим в разделе «миниатюра записи» нашу картинку, все мини-картинку для одной записи мы создали, сохраняемся.

    А как быть, если тема не поддерживает создание миниатюр для поста, все очень просто, нужно зайти в вашу админку WordPress редактор темы, в моем случае «внешний вид — редактор» и зайти в раздел functions.php и в самый низ записи добавить код:

    14,1,0,0,0

    Все после этого сохраняемся, и делаем все что я описал выше, у вас должен появиться новый раздел при добавлении и редактировании записи «Задать миниатюру».

    Генерация миниатюр в WordPress.

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

    Если вам к примеру не нужно создавать размеры картинки в трех форматах, то проставьте нули в ненужные поля.

    В общем посмотрите видео, что бы было понятнее:

    Итак, я не стал делать все вручную, и пошел другим путем, у меня имеется плагин который генерирует миниатюры в WordPress сразу на все ваши созданные статьи и весь этот процесс отнимет у вас пару минут.

    Устанавливаем и активируем плагин, после чего у вас появится надпись «Генерация миниатюр» в отделе админки WordPress «Инструменты».

    21,0,0,1,0 Генерация миниатюр

    Жмем на эту надпись и переносимся в настройки плагина, где мы можем выбрать только-лишь номер изображения в записи, в моем случае я оставил «1» и нажал на кнопку « Сгенерировать миниатюры».

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

    Все теперь, плагины выводящие списки статей с миниатюрами будут работать правильно, а если вы хотите чтобы миниатюры отображались в теме wordpress, к примеру на главной или категориях, нужно вставить в нее (в файлы index.php, archive.php) следующий код:

    В данном случае будет выводится миниатюра, а если вам нужно добавить средний или большой размер, которые вы указали в настройках медиафайлах, а потом генерировали, то в коде нужно заменить thumbnail на:

    Также в коде можно задать нужное выравнивание, вот пример:

    Помимо всего этого, можно в коде задать нужный размер миниатюр, это делается так:

    В общем еще много можно рассказывать про миниатюры в WordPress, ну я думаю и этого с головой хватит!! А теперь обязательно читайте — как создать галерею в WordPress.

    29,0,0,0,1

    Ах да! если вам понадобится создать миниатюры нужно размера (которые до этого были других пропорций), то тут вам поможет плагин Regenerate Thumbnails! Но он лично у меня сильно нагрузил сервер и до конца я этого сделать не смог!

    (3 оценок, среднее: 3,67 из 5)

    Топ-пост этого месяца:  Mobile first индекс в Google что это и как работает
    Добавить комментарий