По умолчанию “ category” и “ tag” таксономий в WordPress предлагает большую гибкость для людей с воображением и в своем развитии опыт, который я видел wide диапазон творческих реализаций.
С введением пользовательской таксономией и рост их простоту использования, однако, мы больше не нужно быть привязаны к категориям и тегам.Благодаря возможности создания иерархических и неиерархический таксономии и с введением нескольких новых функций в WordPress 3.1, сейчас самое время, если you’ повторно не сделали, приступить к внедрению пользовательские таксономии в use.
В часть one этой серии из двух частей мы узнали, как настроить пользовательские типы и пользовательские сообщение таксономии.Мы также узнали, как создать шаблон для проверки и отображения мультимедиа прикреплены к таможенные посты.Теперь, we’ узнаете, как использовать пользовательские шаблоны таксономию для организации и связаны наши средства массовой информации.Let’! С начала
Организационный наши СМИ – Работа с пользовательскими таксономическая Templates
Теперь у нас есть наши средства массовой информации отображения, it’ пора работать, как it’ с организованным.Если вы попытаетесь нажать на одну из пользовательских терминов таксономии, вероятнее всего, результат weren’ T очень интересно.Вы, наверное, видели что-то вроде этого:
Бесполезные умолчанию термина в “ presenter” taxonomy.
Что we’ повторно собирается делать дальше, это создать шаблон, который позволяет настроить результаты и предложить страница, которая будет более useful.
Создание пользовательских таксономическая Template
Как и таможенные посты, двигатель WordPress шаблон имеет шаблон таксономии hierarchy, что следует определить, какой шаблон используется для отображения данных, связанных с пользовательским термина таксономии.We’ начнем с наших “ presenters” таксономии.В нашем случае, иерархия WordPress выглядит следующим образом:
- таксономии presenters.php – WordPress будет проверять тему папку для файла с именем таксономии presenters.php.Если она существует, она будет использовать этот шаблон для отображения содержимого.Для различные пользовательские таксономии, просто замените “ presenters” с именем пользовательского taxonomy.
- taxonomy.php — Если шаблон таксономии найден, WordPress проверяет общей систематики template.
- archive.php – Если нет общего шаблона таксономии используется, шаблон WordPress архивused.
- index.php – Если нет архиве шаблон не найден, WordPress по умолчанию старых резервных – index.
Примечание: иерархию WordPress шаблон структуры также позволяет шаблонов для определенных terms.Например, в случае, когда “ Джонатан Wold” был член в “ presenters” таксономии, я мог бы создать шаблон называется “ таксономии ведущие-Джонатан-wold.php”.
Неиерархический таксономию Templates
We’ начнем с неиерархический “ presenters” пользовательской таксономии.Как и в случае таможенного поста типа примеров ранее, я буду использовать минимальное примеры для каждого из templates.
Чтобы начать работу с этим, например, создать файл с именем таксономии presenters.php и загрузить его в папке темы.Добавьте следующий код:
<?php get_header(); ?> <?php // Get the data we need $presenter = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); ?> <div id="container"> <div id="content" class="presenter"> <h1 class="entry-title"><?php echo $presenter->name; ?></h1> <p><?php echo $presenter->description; ?></p> </div> </div> <?php get_footer(); ?>
Предварительный срок должны теперь показать вам, а пустая страница с именем термин и описание (если вы вошли в один при создании или редактировании этого термина).В моем случае, на Twenty Ten, доступ термин “ Джонатан Wold” (/ Ведущий / Jonathan-Wold) выглядит следующим образом:
Довольно основным, но более полезно, вид пользовательского термина таксономии template.
Прежде чем двигаться дальше, let’ отзыв с кодом выше, чтобы узнать, что it’ S делаете и что вы можете сделать с it.
$presenter = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
Этот фрагмент кода может показаться пугающим на первый, но it’ с довольно проста.Во-первых, мы определяем переменную $ ведущего.Наша цель состоит в этой переменной все магазин, который WordPress знает о наших term.
Для этого мы используем функцию get_term_by.Эта функция требует трех вещей:
- Field – Вы можете получить доступ термин, имя, идентификатор или пули.В нашем случае мы используем пулю, которая является “ Джонатан-wold”.
- Value – We’ ве WordPress сказал, что мы хотим, чтобы наш термин данных с помощью “ slug” поле.Теперь, она должна пули для извлечения данных.Поскольку мы хотим, чтобы это динамичная, мы используем другую функцию с именем get_query_var.Когда вы получаете доступ термин в WordPress (например, просмотр срок его постоянную ссылку), запрос выполняется в целях получения результатов по этому запросу.Использование “ get_query_var” позволяет перехватить этот запрос и получить данные для своего use.
- Taxonomy – В дополнение к термину пули, WordPress также нуждается в таксономии имя (это важно в случаях, когда то же имя используется несколькими таксономии).Мы используем “ get_query_var” еще раз, чтобы получить, что для us.
Если бы мы хотелидля доступа к данным термином для одного specific член в частности пользовательские таксономии, мы будем делать это так:
$presenter = get_term_by( 'slug', 'jonathan-wold', 'presenters');
В нашем примере мы добавляем код в наш шаблон WordPress говорит, чтобы дать нам данные на срок посетителя в настоящее время просмотра.WordPress сохраняет эти данные в качестве “ object”.
Чтобы посмотреть, какие данные доступны для вас в объект, добавьте следующее в ваш код:
<?php echo '<pre>'; print_r( $presenter ); echo '</pre>'; ?>
Изображение термин снова, и вы увидите блок кода, который выглядит примерно так:
Легко читаемый вид объекта атрибутов и values.
Это блок кода, позволяет увидеть, что WordPress не знает о вашем конкретном объекте и какая информация у вас есть доступным для использования в вашей template.
Примечание: В первой части, я ссылаться техника для добавления пользовательских полей для пользовательских таксономий и дает вам доступ к более данных в шаблонах.Только он закончит вы пропустили ссылку, посмотрите на продвинутом учебнике, Как добавить пользовательские поля для пользовательских Taxonomies на Sabramedia blog.
Отображение данных объекта в Templates
Сейчас, let’ посмотрим, как мы взяли данные из этого объекта, а на самом деле оно отображается в шаблоне.Let’ начнем с первого примера:
<?php echo $presenter->name; ?>
В английском языке мы говорим PHP, чтобы “ echo” или дисплей, “ name” значение $ ведущего объекта.Мы знаем, что объект создан с “ get_term_by” содержит значение для “ name” либо глядя значения возврата для get_term_by в Codex или с помощью “ print_r” чтобы увидеть для себя.We’ будем исследовать этот вопрос более подробно, как только мы посмотрим на “ topics” taxonomy.
Чтобы получить наше описание, мы делаем то же самое, изменив “ name” значение “ description”:
<?php echo $presenter->description; ?>
Показано Срок Результаты В таксономию Templates
Сейчас у нас есть термин имя и описание отображаются, it’ время показать некоторые фактические таможенный пост results.
Мы продолжаем наш пример с таксономии presenters.php.Заменить существующий код на следующий:
<?php get_header(); ?> <?php // Get the data we need $presenter = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); $resources = new WP_Query( array( 'post_type' => 'resource', // Tell WordPress which post type we want 'posts_per_page' => '3', // Show the first 3 'tax_query' => array( // Return only resources where presenter is listed array( 'taxonomy' => 'presenters', 'field' => 'slug', 'terms' => $presenter->slug, ) ) ) ); ?> <div id="container"> <div id="content" class="presenter"> <h1 class="entry-title"><?php echo $presenter->name; ?></h1> <p><?php echo $presenter->description; ?></p> <div class="resources"> <h3>Latest Resources</h3> <ul id="resource-list"> <?php while ( $resources->have_posts() ) : $resources->the_post(); ?> <li id="resource-<?php the_ID(); ?>" class="resource"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <span><?php the_excerpt(); ?></span> </li> <?php endwhile; ?> </ul> </div> </div> </div> <?php get_footer(); ?>
Предварительный просмотр одного из ваших условиях теперь должны отображаться название и описание термина, а также список пользовательских сообщений, связанных с этим термином.В нашем случае, результаты выглядят следующим образом:
С настраиваемый список соответствующих таможенных постов, термин шаблон результатов выглядит гораздо более useful.
Изменения в этом блоке кода является добавление наших “ $ resources” запрос.Let’ посмотрим на которые более точно:
$resources = new WP_Query( array( 'post_type' => 'resource', // Tell WordPress which post type we want 'posts_per_page' => '3', // Show the first 3 'tax_query' => array( // Return resources associated with presenter array( 'taxonomy' => 'presenters', 'field' => 'slug', 'terms' => $presenter->slug, ) ) ) );
Для нашей переменной $ ресурсы, мы создаем новый экземпляр класса WordPress, WP_Query.Тогда, we’ Re значений параметров по нескольким параметрам, post_type post_per_page, и tax_query.
Первые два прямо вперед.С “ post_type”, то пусть WordPress знать, какие типы контента you’ Re хочет вернуться.Мы привыкли, что в наших средствах массовой информации примере для извлечения вложений.Для отображения различных типов сообщений, заменить “ post_type” соответствии с этим:
'post_type' => array( 'resource', 'other_post_type', 'another_post_type' ),
Для “ posts_per_page”, вы позволяете WordPress знать, сколько сообщений, чтобы вернуться перед запуском нумерацию.Если вы хотите, чтобы вернуться all сообщения, используйте “-1″ для значений, например:
'posts_per_page' => '-1', // Show all the posts
Сейчас, “ tax_query” новый параметр добавлена в WordPress 3.1.Это мощный параметр, который позволяет возвращать результат связан с несколькими таксономии and персонализированные fields.
Let’ возьмем более близкий взгляд на это:
'tax_query' => array( // Return resources associated with presenter array( 'taxonomy' => 'presenters', 'field' => 'slug', 'terms' => $presenter->slug, ) )
Во-первых, мы выбираем наши пользовательские таксономии.В нашем случае, мы кодируются в “ presenters”.Если бы мы хотели, чтобы сделать его более динамичным и построить, например, general таксономия шаблон (taxonomy.php) для работы с несколькими таксономии подобным образом, мы будем использовать “ get_query_var” раз, вот так:
'taxonomy' => get_query_var( 'taxonomy' ),
Примечание: “ tax_query” Функция работает с одним таксономии одновременно.Чтобы запросить несколько классификаций, просто дублировать код выше (не забудьте добавить соответствующие запятой в конце) и изменить параметры accordingly.
Далее, мы имеем “ field” параметров.Это позволяет WordPress знают, что поле мы будем возвращаться наши условия по.WordPress принимает “ slug” или “ id”.Я использую “ slug” потому что я предпочитаю признании сообщения от слов над numbers.
Тогда мы имеем “ terms”.В нашем случае, мы используем переменную $ ведущим пройти в “ slug” таким же образом, мы добавили данные непосредственно в наш шаблон поста.Если бы мы хотели, чтобы сдела …
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров