Введение в пользовательскую таксономию WordPress 3.0

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

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

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

  • Количество оперативной памяти
  • Размер жесткого диска
  • Скорость процессора
  • Тип процессора
  • Установленная операционная система
  • и так далее…

Краткая история таксономии WordPress

Рубрики

До версии 2.3, в WordPress был только один тип таксономии для записей, под названием Рубрики. Это было удобно для блогов, а в нашем случае, нам пришлось бы создать рубрику верхнего уровня под названием “Персональные компьютеры”, затем дочернюю рубрику “Оперативная память”, которая, в свою очередь, может содержать такие дочерние рубрики как “Меньше 1Гб”, “1Гб”, “2Гб”, “4Гб” и так далее. Вторая дочерняя рубрика, от основной рубрики “Персональные компьютеры”, называлась бы “Операционная система” и содержала бы такие дочерние рубрики, как: “Windows XP”, “Mac OS”, “Red Hat”, “Ubuntu” и т.д.

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

Метки

Начиная с версии 2.3, в WordPress был добавлен второй вид таксономии под названием Метки. В отличие от рубрик, которые придумываются заранее, в зависимости от типа контента на сайте, метки предоставляют более свободный метод классификации контента.

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

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

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

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

Иерархические пользовательские таксономии

И наконец, WordPress 3.0, дает нам полностью иерархические пользовательские таксономии. Обратите внимание как иерархическое устройство позволяет упростить таксономию операционных систем, путем группировки всех вариантов операционной системы Windows в общей родительской рубрике “Windows”. Такая классификация позволит пользователям просматривать все компьютеры с ОС Windows, или например конкретные, с Windows XP.

Создание пользовательской Таксономии

Редактирование файла functions.php

В WordPress 3.0 нет возможности создавать пользовательские таксономии в панели управления. Для начального описания вашей пользовательской таксономии без использования плагина, вам понадобится добавить немного кода в файл functions.php, расположенный в папке с вашей темой. Это совсем не сложно – просто следуйте приведенным примерам.

Добавляем Таксономии в коде

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

Шаг 1. Первая функция для создания всего

Для начала, нам нужно создать функцию, которая создает все необходимые нам таксономии. Назовем функцию “build_taxonomies”. Давайте добавим эту функцию в конец файла functions.php.

[php]
function build_taxonomies() {
// code will go here
}
[/php]

Шаг 2. Описание Таксономий

Далее, для каждой таксономии, которую мы создадим, нам нужно взывать определенную WordPress-функцию, с правильными параметрами. Далее представлена эта функция, и разъяснены ее важные параметры.

[php]
register_taxonomy(
‘internal_name’,
‘object_type’,
array(
‘hierarchical’ => {true|false},
‘label’ => ‘Human Readable Name’,
‘query_var’ => {true|false},
‘rewrite’ => {true|false}
)
);
[/php]

  • internal_name: название таксономии, которое будет использоваться в базе данных и файлах шаблона
  • object_type: определяет типы контента, к которым можно будет применить эту таксономию. Возможные значения: “post” (запись), “page” (страница), “link” (ссылка).
  • Далее идет массив из опциональных параметров. В этой статье, мы будем использовать наиболее важные из них, а полный список можно найти в кодексе WordPress, на странице описания функции register_taxonomy. Далее идет список используемых параметров.
  • hierarchical: если значение установлено в “true”, эта таксономия будет иметь возможности иерархической структуры, как у Рубрик. Если значение “false”, то таксономия по структуре будет похожа на Метки.
  • label:  это читаемое название, которое будет использоваться в интерфейсе сайта для обозначения этой таксономии.
  • query_var: если значение параметра установлено в “true”, мы сможем получать записи, на основе выбранного значения этой таксономии. Например, можно найти все записи, для которых в таксономии “операционная система” указано значение “Windows”.
  • rewrite: если значение установлено в “true”, при просмотре страницы с этой таксономией, WordPress будет использовать дружественные URL. Например, страница, отображающая все записи с операционной системой “Windows”, будет представлена следующим url: http://domain.com/operating_system/windows

Код, добавляющий таксономию “Операционная система” выглядит следующим образом:

[php]
register_taxonomy( ‘operating_system’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘Operating System’, ‘query_var’ => true, ‘rewrite’ => true ) );
[/php]

Вставьте эту функцию, внутри ранее созданной функции build_taxonomies.

Шаг 3 Вызов функции, создающей таксономию

Для того, чтобы наша функция build_taxonomies была выполнена, нам понадобится добавить одну строчку кода, в файле functions.php. Фактически мы “прицепим” функцию build_taxonomies к событию init, путем добавления следующего кода:

[php]
add_action( ‘init’, ‘build_taxonomies’, 0 );
[/php]

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

[php]
// Custom Taxonomy Code
add_action( ‘init’, ‘build_taxonomies’, 0 );

function build_taxonomies() {
register_taxonomy( ‘operating_system’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘Operating System’, ‘query_var’ => true, ‘rewrite’ => true ) );
}
[/php]

Добавляем классификацию к новой Таксономии

Если вы правильно добавили таксономию “Операционная система” в файле functions.php, она должна появится в виде нового пункта, в блоке “Записи”, вашей панели управления. Кликните по нему, чтобы добавить необходимые классификации.

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

Добавляем больше Таксономий

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

[php]
register_taxonomy( ‘ram’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘RAM’, ‘query_var’ => true, ‘rewrite’ => true ) );

register_taxonomy( ‘hard_drive’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘Hard Drive’, ‘query_var’ => true, ‘rewrite’ => true ) );
[/php]

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

[php]
// Custom Taxonomy Code
add_action( ‘init’, ‘build_taxonomies’, 0 );

function build_taxonomies() {
register_taxonomy( ‘operating_system’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘Operating System’, ‘query_var’ => true, ‘rewrite’ => true ) );
register_taxonomy( ‘ram’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘RAM’, ‘query_var’ => true, ‘rewrite’ => true ) );
register_taxonomy( ‘hard_drive’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘Hard Drive’, ‘query_var’ => true, ‘rewrite’ => true ) );
}
[/php]

Создание записи, с использованием новой Таксономии

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

Отображение различной таксономии записей

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

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

Вывод таксономии на индивидуальной странице

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

Шаг 1. Редактирование файла single.php

Шаблон индивидуальной записи называется single.php, и расположен он внутри папки с вашей темой. Если такого шаблона у вас нет, его можно создать, и скопировать в него содержимое файла index.php.

Найдите в шаблоне single.php строчку:

[html]
<div class="entry-utility">
[/html]

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

Шаг 2. Получение таксономии для текущей записи

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

[php]
<?php
// Эта переменная используется для вывода таксономии, если она существует
$taxo_text = "";

// Список переменных, для хранения списков таксономии
// Эта строка получает данные о классификации "Операционная система"
$os_list = get_the_term_list( $post->ID, ‘operating_system’, ‘<strong>Operating System(s):</strong> ‘, ‘, ‘, ” );
[/php]

Для получения информации о таксономии текущей записи, мы используем функцию get_the_term, со следующими параметрами:

  • $post->ID : id текущей записи
  • ‘operation_system’ : имя пользовательской таксономии. Мы проверяем, была ли назначена текущей записи, какая-либо классификация из пользовательской таксономии operation_system.
  • ‘Операционная система (ы)’ : если данные будут найдены, эта строчка будет вставлена, перед их выводом на экран.
  • ‘, ’ :  если найденных значений будет несколько, то они будут разделены запятой
  • : если данные будут найдены, эта строка будет вставлена после вывода данных. В нашем случае, мы оставляем ее пустой.

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

[php]
$ram_list = get_the_term_list( $post->ID, ‘ram’, ‘<strong>RAM Option(s):</strong> ‘, ‘, ‘, ” );
$hd_list = get_the_term_list( $post->ID, ‘hard_drive’, ‘<strong>Hard Drive Option(s):</strong> ‘, ‘, ‘, ” );
[/php]

Шаг 3. Форматирование полученного результата

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

[php]
// Добавляем список ОС, если они указаны
if ( ” != $os_list ) {
$taxo_text .= "$os_list<br />\n";
}
// Добавляем данные об Оперативной памяти, если они указаны
if ( ” != $ram_list ) {
$taxo_text .= "$ram_list<br />\n";
}
// Добавляем данные о жестком диске, если они указаны
if ( ” != $hd_list ) {
$taxo_text .= "$hd_list<br />\n";
}
[/php]

Шаг 4. Выводим классификацию, если она найдена

Проверяем, была ли получена таксономия из предыдущих шагов. Если таксономия существует, выводим ее, предварительно обернув в div с классом “entry-utility”.

[php]
// Выводим пользовательскую таксономию, если она существует
// Обратите внимание: Мы не будет открывать div, если у него не будет содержимого
if ( ” != $taxo_text ) {
?>
<div class="entry-utility">
<?php
echo $taxo_text;
?>
</div>
<?
} // endif
?>
[/php]

Шаг 5. Проверяем результаты

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

Просмотр списка записей, построенный на основе пользовательской таксономии

Теперь, на странице индивидуальной записи, мы можем узнать к какой классификации принадлежит текущая запись. Вы, наверное, заметили, что при отображении пользовательской классификации, термины выводятся в виде ссылки, которая должна вести на страницу с записями, принадлежащими к этой классификации. К примеру, кликнув по ссылке “Mac OS”, мы по идее, должны увидеть страницу со списком записей, с классификацией “Mac OS”.

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

Шаг 1

Откройте файл category.php, скопируйте его контент, и вставьте в новый файл, сохранив его под именем “taxonomy.php”.

Шаг 2 Получение информации о текущей классификации

В файле taxonomy.php, нам необходимо получить информацию о текущей, просматриваемой таксономии. Скорее всего, нам понадобится название и описание (если есть) для выбранной классификации.

Сразу после строки <?php get_header(); ?> следующую строку:

[php]
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
[/php]

Эта строка получает всю информацию о таксономии и возвращает ее в виде объекта, записанного в переменную $term. Например, классификация “Mac OS” возвращает следующий объект:

[php]
stdClass Object
(
[term_id] => 13
[name] => Mac OS
[slug] => mac-os
[term_group] => 0
[term_taxonomy_id] => 22
[taxonomy] => operating_system
[description] =>
[parent] => 0
[count] => 2
)
[/php]

Шаг 3 Вывод Названия классификации и ее описание

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

Измените следующую строку, взятую из шаблона category.php

[php]
printf( __( ‘Category Archives: %s’, ‘twentyten’ ), ‘<span>’ . single_cat_title( ”, false ) . ‘</span>’ );
[/php]

следующим образом:

[php]
printf( __( ‘Posts classified under: %s’, ‘twentyten’ ), ‘<span>’ . $term->name . ‘</span>’ );
[/php]

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

[php]
if (” != $term_descr ) {
echo "<p>$term_descr</p>\n";
}
[/php]

Здесь, как не трудно догадаться, будет выведено описание классификации, если оно доступно.

Проверить как работает классификационный список записей, очень просто. Откройте любую, отдельную запись, и кликните на ссылку-название классификации.

Перевод статьи “Introducing WordPress 3 Custom Taxonomies”, автор Paul Kaiser


Posted

in

,

by

Comments

53 responses to “Введение в пользовательскую таксономию WordPress 3.0”

  1. […] This post was mentioned on Twitter by Дмитрий Андреев, dreamhelg. dreamhelg said: Введение в пользовательскую таксономию WordPress 3.0 – http://bit.ly/coV2NN, #wordpress […]

  2. Илларион Avatar

    Классно! Автор, а когда выйдет полноценная версия wordpress 3?

    1. dreamhelg Avatar
      dreamhelg

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

  3. Роман Ивенков Avatar

    ВП радует меня все больше и больше!

  4. Matt Avatar

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

  5. Роман Avatar

    Круто!
    Только вот я не пойму она уже вышла или нет?

  6. Валентин Avatar

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

  7. Hallboy222 Avatar

    совершенствуется cms)

  8. Игорь Avatar
    Игорь

    Привет! А подскажи, пожалуйста, как вывести все записи с определёнными значениями в такой таксономии? В ф-и get_posts() есть параметр tag, по которому можно выбирать записи с определёнными метками, но возможности выбирать по term’у не могу найти (

    Спасибо!

  9. Grawl Avatar

    А вот Я так и не понял, зачем эта таксономия нужна. Я вижу здесь только возможность добавить новые древа рубрик — и не более.

    1. dreamhelg Avatar
      dreamhelg

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

      1. Grawl Avatar

        Я пользуюсь произвольными полями с плагином Custom Field Template. Туда всё, что надо, и ввожу. А потом вывожу в каталог. Для чего Мне ещё пара деревьев рубрик — ума не приложу…

        1. dreamhelg Avatar
          dreamhelg

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

          1. Grawl Avatar

            Когда нужна иерархичность — Я применяю категории. И Мне их почему-то хватает.

          2. dreamhelg Avatar
            dreamhelg

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

          3. Grawl Avatar

            пользовательский тип записи

            Простите, это как и зачем?
            Вот, на примере того же каталога интернет-магазина компьютеров. Есть, к примеру, одни записи, в записях фотки компов и данные о них (цены, состав железа, свойства, ОС). Есть другие: в них новости компьютерного мира. Одни пусть будут в рубрике «Компьютеры», другие— в «Новости». Зачем усложнять?

          4. dreamhelg Avatar
            dreamhelg

            А теперь представьте, что вам нужно группировать ваши записи о компьютерах, по ОС, производителю, назначению (игровой, планшет, нетбук), характеристикам железа и еще чего-нибудь. Затем, новости компьютерного мира, вам нужно подразделить на рубрики программного обеспечения, железа, новых технологий и прочего. Потом вдруг, выяснится, что нужно еще добавить записи, с какими-нибудь советами для читателей, которые в свою очередь, тоже должны подразделяться на рубрики. В результате у вас огромный, длинный список категорий, с большим уровнем вложенности. Если вам удобно этим пользоваться – пожалуйста, вас, слава богу, никто не принуждает. Пользовтельская таксономия – это лишь возможность все упростить, и разделить различные типы информации и их классификацию.

          5. Grawl Avatar

            А, ну тогда понятно. Просто разделить список категорий на несколько. Ясно.
            Тогда, может, подскажете, как Мне удобнее управлять списком категорий марок машин? Это не сарказм, Мне действительно нужна помощь 🙂
            Там такая иерархия:
            Toyota
            Allion
            Celsior
            Chaser
            Nissan
            Cube
            March
            Wingroad
            Ну так далее. Только вот у Тойоты, например, уже 24 марки. Mitsubishi — 12. Короче, длинный список. Как бы его удобнее использовать? Может, как-нибудь заставить сворачиваться дерево категорий в Консоли при добавлении записи? Или, может, так: сначала выпадающее меню – производитель, а потом подгружаются его марки…

          6. dreamhelg Avatar
            dreamhelg

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

  10. Grawl Avatar

    Есть, кстати, плагин — More Taxonomies называется (и лежит в офф. репозитории плагинов) — делает всё то же, что в статье, только через Консоль.

    1. Grawl Avatar

      Одна только тонкость: в поле «Taxonomy name singular» нужно вводить на латинице, иначе Консоль покажет ошибку (пишите русское название в поле «Taxonomy name plural»).

  11. Grawl Avatar

    А реализовать это как? Подскажете?.. :3

    1. dreamhelg Avatar
      dreamhelg

      Мне не приходилось это делать, поэтому сходу сказать как, я не смогу. Если будет время, обязательно разберусь и напишу статью

  12. tester Avatar
    tester

    Скажите пожалуйста, а как реализовать поиск по таксономиям например на дополнительной странице page-name.php, нужно сделать чекбоксами прям как в админке. Спасибо заранее

  13. Дмитрий Avatar
    Дмитрий

    Здравствуйте, сделал все как написано(перечитывал, вроде ничего не упустил), но ссылки так и не заработали, файл “taxonomy.php” – создал подправил, но при переходе по ссылке выдается ошибка 404.
    Подскажите пожалуйста в чем может быть ошибка?

    1. Serg Avatar
      Serg

      Та же история.

      Как победить? ВП 3.3.1

      Или есть ошибка в статье?

      1. Serg Avatar

        Решение найдено! Оказывается, после этих манипуляция нужно просто обновить пермалинки 🙂

        1. Bryukva Avatar
          Bryukva

          Спасибо!!! Я уже все варианты испробовал, а вот про ссылки забыл! Автору конечно тоже большой респект 🙂 Ура!

  14. […] Введение в пользовательскую таксономию WordPress 3.0 – перевод статьи о таксономии […]

  15. mixis Avatar
    mixis

    Привет. То что искал. Перерыл очень большое количество плагинов. И хотел через произвольные поля. Но этот вариант действительно лучше.

    Вопрос (уже задавался) – Как осуществить сортировку по конкретным параметрам (с использованием чекбоксов)?. Спасибо.

  16. mixis Avatar
    mixis

    Привет. можно подробнее об этом “Я бы выбрала вариант с последующей загрузкой дерева”. Как это организовать?

  17. Максим Avatar
    Максим

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

  18. Евгений Avatar

    А как выглядит адрес страницы, показывающей записи всей древовидной таксономии

    1. Serg Avatar

      site.com/name_taxonomy/taxonomy/

      См в посте:

      Например, страница, отображающая все записи с операционной системой “Windows”, будет представлена следующим url: http://domain.com/operating_system/windows

  19. Yeezy Avatar
    Yeezy

    Хочу вывести таксономию в посте.
    Сделал как здесь описано, но вместо div’а с классом entry-utility у меня есть div’ка с айдишкой dole, которая стоит после дивки с контентом поста.
    А ошибка у меня выходит такая:
    Parse error: syntax error, unexpected T_VARIABLE in Z:\bla-bla-bla.com\bla-bla-bla\blablabla\single.php on line 34
    Из-за переменной $taxo_text

  20. Artem Avatar

    Отличный сайт! Замечательная и самое главное чуть-ли не единственная статья о Таксе на русском. Благодарю!

  21. Михаил Avatar

    Здраствуйте почему с ЧПУ неработает не кто неподскажет ? … премолинки обновляю… переходя по ссылке таксономической где должны все записии ввыводится из данной таксономии пишется “нечего не найдено” а без чпу все работает…

  22. chance Avatar
    chance

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

  23. […] Итак у вас есть иерархия таксономии примерно такого вот вида. А если еще нет то создайте структуру подобного плана. Про создание таксономии хорошо написано вот здесь. […]

  24. Dzirt Avatar
    Dzirt

    СПАСИБО ВАМ ОГРОМНОЕ! Пол-инета перегуглил. Если не тяжело будет – сможете объяснить, что делает запись “get_query_var( ‘term’ )”. Заранее благодарю.

    1. Евгений Avatar

      Попробуйте гденить в шаблоне рубрики вставить
      global $wp_query;
      ‘.print_r($wp_query->query_vars,true).”;
      – узнаете ответ на свой вопрос

      1. Евгений Avatar


        global $wp_query;
        '.print_r($wp_query->query_vars,true).'';

        выкусились тэги

  25. Николай Avatar
    Николай

    Сделал всё как здесь написано но при переходе по ссылке в тэгах попадаю на страницу No-results (Ничего не найдено).

    Кто нить сталкивался, помочь можете?

  26. Шамиль Avatar

    Большое спасибо автору!
    Никак не мог понять, как же использовать пользовательскую таксономию, теперь увидел примеры и всё встало на свои места! ))

  27. Антон Avatar
    Антон

    запилил таксономию, теперь пытаюсь подключить к страницам комментарии

    но комментарии не работают. Подскажи как быть ?

  28. Максим Avatar
    Максим

    Здравствуйте!
    Хочу сделать на странице вывода записей блога, такую интересную штуку.
    Что бы выводилась Родительская рубрики (вернее ее только название) и подрубрики с активными ссылками, нажал и вывелся полностью все записи в которой есть эта подрубрика.?
    Wordpress 3.9
    Заранее спасибо!

  29. Евгений Avatar

    Можно ли создать таксономию без slug? Чтобы запись имела адрес сайт/запись?
    И если уже существует таксономия с slug, как ее убрать? Сначала убрать ее в коде, а потом заменить адреса в базе данных?

  30. Евгений Avatar

    А как наоборот избавиться от slug в адресе записи новосозданной таксономии? Чтобы адрес имел привычный вид сайт/запись?
    Подробнее свою проблему я описал на форуме Сапы – http://forum.sape.ru/showthread.php?t=93478

  31. Alex Avatar

    Несмотря на то, что версия WordPress 3.0, все равно большое спасибо. Сейчас уже 4.4.2. Искал именно информацию по таксономиям. Узнал много полезного.

  32. очередной вебмастер Avatar

    Как всегда в ВП изобрели свой велосипед, вопрос только зачем. В джумла еще в версии 2 убрали всю эту ебаторию с разделами и заменили неограниченой вложености категориями, а в третьей версии добавили метки, чего хватает для 90% задач. В вордпресс задачу усложнили по максимуму что бы усеры смогли почувствовать себя говнокодерами.
    Самый секс начинается когда сторонние плагины не поддерживают кастомные поля и с последующими обновлениями.

  33. Kolass Avatar

    Добрый день. Подскажите, как сделать, чтобы новая таксономия выводилась в отдельном шаблоне (аналог archive.php). У меня новая таксономия “my_tax”, новый тип – “my_type”. Уже создал файлы taxonomy-my_tax.php, archive-my_tax.php, но все равно при переходе на страницу “site.exml/new_cat” (созданная ветвь таксономии), попадаю на шаблон 404.php
    Что нужно, чтобы заработали спец шаблоны и на них отображались списки записей из нового типа, по примеру категорий?

Leave a Reply

Your email address will not be published. Required fields are marked *