Как создать сайт СМИ на WordPress (часть 2)

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

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

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

Screenshot

Организационный наши СМИ – Работа с пользовательскими таксономическая 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.Эта функция требует трех вещей:

  1. Field – Вы можете получить доступ термин, имя, идентификатор или пули.В нашем случае мы используем пулю, которая является “ Джонатан-wold”.
  2. Value – We’ ве WordPress сказал, что мы хотим, чтобы наш термин данных с помощью “ slug” поле.Теперь, она должна пули для извлечения данных.Поскольку мы хотим, чтобы это динамичная, мы используем другую функцию с именем get_query_var.Когда вы получаете доступ термин в WordPress (например, просмотр срок его постоянную ссылку), запрос выполняется в целях получения результатов по этому запросу.Использование “ get_query_var” позволяет перехватить этот запрос и получить данные для своего use.
  3. 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>';
?>

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

Screenshot Легко читаемый вид объекта атрибутов и 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” таким же образом, мы добавили данные непосредственно в наш шаблон поста.Если бы мы хотели, чтобы сдела …

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.