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

WordPress является удивительным.Благодаря растущей популярности и постоянном развитии, он становится инструментом выбора для многих дизайнеров и разработчиков.WordPress проектов, однако, настаивают далеко за пределы простого “ posts” и “ pages”.Как вы идти о добавлении и организации средств массовой информации и всех ее сложностях?С введением в WordPress 3.1, несколько были добавлены новые возможности, которые делают использование WordPress для управления медиа даже более практичным и в этом учебнике, we’ Re собираюсь изучить и показать вам how.



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

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

  • “ Media” центра, любого типа, в дополнение к существующим WordPress site
  • Хранилище видео, размещенных третьими лицами (например, Vimeo, YouTube и т.д.), организованные по темам и presenters
  • Музыкальный сайт, с потоковой передачи и загрузки песни, организованные группы и связанные с ними по albums
  • Автор управляемых Q& сайт, с помощью представленных вопросов организованы по темам и географическому location
  • Рецепт сайте с видео и посетителей рейтинги, организованных по категориям и поделился ingredients

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

Requirements

  • WordPress 3.1 – С выпуском 3.1, несколько новых функций, связанных с использованием пользовательских типов должности и таксономии были введены, которые необходимы для методов преподавал в этом series.
  • Основные Знакомство с PHP (или “ Нет Fear”) – Чтобы выйти за рамки копирования и вставки примеры I’ ве дано будет требовать начальное знакомство с PHP или, по крайней мере, готовность к эксперименту.Если примеры кода ниже пугает вас и у вас есть желание учиться, то я рекомендую вам заняться этим и дать ему как можно лучше.Если у вас есть вопросы, задавайте вcomments.

Рабочие Example

В апреле 2011 года мы (Sabramedia, из которых я соучредителем) совместно с организацией в Южной Калифорнии, чтобы развивать ресурсный центр по WordPress, чтобы продемонстрировать свои платные и бесплатные медиа-продуктов.На переднем конце, мы построили JQuery питанием фильтрации интерфейс, чтобы позволить посетителям самостоятельно через средства массовой информации на странице.We’ буду охватывать все входы и выходы строительства подобного интерфейса в части three.

ARISE Resource Center “ Ресурс Center” на ВОЗНИКНУТЬ, с пользовательской таксономией фильтр (“ Дэвид Asscherick”), предварительно selected.

Работа с пользовательскими Сообщение Types

По умолчанию, WordPress предлагает два различных типа сообщений для содержания.Во-первых, у вас есть традиционные “пост”, чаще всего используется для того, что WordPress известно, лучшее для – блоги.Во-вторых, у вас есть “страниц”.Каждый из них, насколько WordPress, то, является одним из видов “пост”. custom Сообщение типа является одним из видов сообщение, что вы define.

Примечание: Вы можете узнать больше о разместить types на WordPress Codex.

В этой серии мы собираемся использовать пользовательские типы сообщению построить средств массовой информации на основе ресурсного центра.Я буду определения и настройки сообщение типа “Ресурс”

Настройка пользовательских Сообщение Type

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

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

Хорошо, let’ Расстановки наш пользовательский тип записи.Вставьте следующий код в ваш theme’ functions.php с:

add_action('init', 'register_rc', 1); // Set priority to avoid plugin conflicts

function register_rc() { // A unique name for our function
 	$labels = array( // Used in the WordPress admin
		'name' => _x('Resources', 'post type general name'),
		'singular_name' => _x('Resource', 'post type singular name'),
		'add_new' => _x('Add New', 'Resource'),
		'add_new_item' => __('Add New Resource'),
		'edit_item' => __('Edit Resource'),
		'new_item' => __('New Resource'),
		'view_item' => __('View Resource '),
		'search_items' => __('Search Resources'),
		'not_found' =>  __('Nothing found'),
		'not_found_in_trash' => __('Nothing found in Trash')
	);
	$args = array(
		'labels' => $labels, // Set above
		'public' => true, // Make it publicly accessible
		'hierarchical' => false, // No parents and children here
		'menu_position' => 5, // Appear right below "Posts"
		'has_archive' => 'resources', // Activate the archive
		'supports' => array('title','editor','comments','thumbnail','custom-fields'),
	);
	register_post_type( 'resource', $args ); // Create the post type, use options above
}

Код выше говорит WordPress для “ register” Сообщение тип, называемый “ resource”.Затем мы передаем в наших вариантов, позволяя WordPress знаем, что мы хотим использовать наши собственные метки, что мы хотим, чтобы наш сообщение типа, которые будут доступны для общественности, неиерархической, ичто мы хотим, чтобы показать прямо под “ posts” В нашем меню администратора.Затем, мы активируем “ archive” функции нового в WordPress 3.1.Наконец, мы добавляем в “ supports”:. Поля по умолчанию название, редактор WordPress, комментарии, избрана эскизов и пользовательских полей (I’ объясню позже)

Примечание: Для получения дополнительной информации о настройке сообщение типа и подробную информацию о всех вариантов у вас есть (есть немало доступных), обратитесь к register_post_type функции reference на WordPress Codex.

Если приведенный выше код был успешным, вы увидите новый пользовательский тип записи, появляющиеся ниже “ Posts” в меню администратора WordPress.Это будет выглядеть примерно так:

Screenshot Зрения администратора WordPress, после добавления таможенный пост type

We’ повторно в хорошей форме!Далее, let’ Расстановки наш обычай taxonomies.

Работа с пользовательскими Taxonomies

“ taxonomy” представляет собой способ организации и касающиеся информации.WordPress по умолчанию предлагает два таксономии, категории и теги.Категории являются иерархическими (они могут иметь подкатегории) и часто используется для организации содержимого на более широкой основе.Теги, не являются иерархическими (без суб-теги) и часто используется для организации контента на categories.

“ term” является вступление в таксономии.Для пользовательской таксономии “ Presenters” “ Джон Smith” бы, что срок, в течение taxonomy.

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

  • Ведущие – Каждый элемент массовой информации в нашем ресурсном центре будут иметь один или несколько докладчиков.Для каждого ведущего, мы хотим знать их имена, и мы хотим включать краткое описание.Ведущие будет не hierarchal.
  • Темы – Наш ресурсный центр будет предлагать средств массовой информации организован по темам.Темы будут иерархическими, что позволяет несколько подтем и даже суб-суб-topics.

Примечание: заинтересованы в сотрудничестве с более чем название и краткое описание?Взгляните на Как добавить пользовательские поля для пользовательских Taxonomies на Sabramedia blog.

Настройка Presenters

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

Добавить следующий код в ваш theme’ файл functions.php с:

$labels_presenter = array(
	'name' => _x( 'Presenters', 'taxonomy general name' ),
	'singular_name' => _x( 'Presenter', 'taxonomy singular name' ),
	'search_items' =>  __( 'Search Presenters' ),
	'popular_items' => __( 'Popular Presenters' ),
	'all_items' => __( 'All Presenters' ),
	'edit_item' => __( 'Edit Presenter' ),
	'update_item' => __( 'Update Presenter' ),
	'add_new_item' => __( 'Add New Presenter' ),
	'new_item_name' => __( 'New Presenter Name' ),
	'separate_items_with_commas' => __( 'Separate presenters with commas' ),
	'add_or_remove_items' => __( 'Add or remove presenters' ),
	'choose_from_most_used' => __( 'Choose from the most used presenters' )
);

register_taxonomy(
	'presenters', // The name of the custom taxonomy
	array( 'resource' ), // Associate it with our custom post type
	array(
		'rewrite' => array( // Use "presenter" instead of "presenters" in the permalink
			'slug' => 'presenter'
			),
		'labels' => $labels_presenter
		)
	);

Let’ S разорвать этот вниз.Во-первых, установить метки, которые будут использоваться, когда мы “ register” нашитаксономии.Затем, мы даем ему имя, в данном случае “ presenters”, и назначить его на должность типа “ resource”.Если у вас несколько типов сообщению, вы должны добавить их в с запятой, например:

array( 'resource', 'other-type' ), // Associate it with our custom post types

После этого, мы изменим URL (или “ permalink”), чтобы удовлетворить наши желания грамматические отличия.Вместо того, чтобы “ / presenters/presenter-name” мы обновляем “ slug” ( Что такое пуля ?), Чтобы удалить “ s” таким образом, чтобы постоянная ссылка будет читать “ / presenter/presenter-name”.

В нашем примере, теперь вы должны заметить новый пункт меню помечены “ Presenters” __ под 38 | Resources” в админ-панели.Когда вы идете, чтобы создать новый ресурс Вы должны также заметить, мета окно на правой стороне, которая выглядит следующим образом:

Screenshot Мои пользовательские таксономии “ Presenters” Сейчас появляется между “ Publish” коробки и “ Популярные Image”.

Примечание: Для получения дополнительной информации о настройке пользовательских таксономии и варианты, посмотрите на register_taxonomy функции reference на WordPress Codex.

Настройка Topics

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

Добавить следующий код в ваш theme’ файл functions.php с:

$labels_topics = array(
	'name' => _x( 'Topics', 'taxonomy general name' ),
	'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
	'search_items' =>  __( 'Search Topics' ),
	'all_items' => __( 'All Topics' ),
	'parent_item' => __( 'Parent Topic' ),
	'parent_item_colon' => __( 'Parent Topic:' ),
	'edit_item' => __( 'Edit Topic' ),
	'update_item' => __( 'Update Topic' ),
	'add_new_item' => __( 'Add New Topic' ),
	'new_item_name' => __( 'New Topic Name' ),
);

register_taxonomy(
	'topics', // The name of the custom taxonomy
	array( 'resource' ), // Associate it with our custom post type
	array(
		'hierarchical' => true,
		'rewrite' => array(
			'slug' => 'topic', // Use "topic" instead of "topics" in permalinks
			'hierarchical' => true // Allows sub-topics to appear in permalinks
			),
		'labels' => $labels_topics
		)
	);

Это было достаточно легко!Этот код похож на создание докладчиков, но на этот раз мы используем несколько различных этикеток, характерных для иерархической таксономии.Мы установили иерархическую к истинному (it’ с набором для “ false” по умолчанию), мы обновляем пули, чтобы быть особым, а не во множественном числе, то, как раз перед ссылкой наших этикетках, мы устанавливаем переписывания быть иерархическими.Иерархической позволяет переписать постоянные, которые выглядят так: / topic/topic-name/sub-topic-name.

С выше код реализован, вы должны были заметить еще один вариант ниже “ Resources” в WordPress администратора и новую коробку мета который выглядит следующим образом:

Screenshot Мои пользовательские таксономии “ Topics” Сейчас появляется, хотя и немного пусто глядя, ниже “ Presenters”.

Добавление пользовательских полей для пользовательских Сообщение Types

Во многих случаях “ title” и “ editor” (редактор содержимого по умолчанию в WordPress) aren’ T будет достаточно.Что делать, если вы хотите хранить дополнительную информацию о конкретномтаможенный пост?Примерами могут быть:

  • Продолжительность медиа-файл – HH: MM: СС, полезно предварительно заполнить ваш медиа-плеер с длительностью на странице load.
  • Оригинальные дата записи – хранится в виде конкретной даты с днем, месяцем и year.

Мы называем это “ meta” информации, и представляет собой набор деталей, которые specific для отдельного предмета и обычно лучше всего подходят для хранения, как мета-данные, в отличие от условий в пользовательской таксономии.В то время как вы могли бы поставить все эти детали в “ editor” поле, это дает вам очень мало гибкости, с тем, как это отображается в вашем template.

Итак, let’ S установки некоторых пользовательских fields.С помощью пользовательского интерфейса полей в нижней части отдельных таможенный пост, чтобы добавить некоторые дополнительные подробности о пользовательском post.

Для нашего примера, we’ повторно собирается добавить два поля.Для каждого поля, я перечислю названия, то пример значения:

  • recording_length — пример: 00:02:34
  • recording_date – пример: 16 марта 2011

Here’ ы, как это выглядит после добавления двух дополнительных полей:

Screenshot Пример пользовательского интерфейса поля после добавления двух “ keys” и их соответствующие “ values”

Примечание: По умолчанию пользовательский интерфейс полей может быть немного ограничивает.Если you’ D хотел бы воспользоваться плагином, попробуйте Более Fields.Функциональность же (только иметь в виду, что вы называете пользовательских полей) – Плагин обычно предлагает Вам лучшее интерфейс.Если вы хотите создать свой собственный интерфейс, посмотрите на WP Alchemy.Чтобы узнать больше об использовании пользовательских полей, посмотрите на использованием пользовательских fields на WordPress Codex.

Custom Таксономии против Пользовательские Fields

На данный момент, вы можете столкнуться с ситуацией, когда you’ Re уверенности в том, определенная часть информации должна быть сохранена в качестве пользовательской таксономии или как пользовательские поля.Let’ S использовать дату записи в качестве примера.Если бы мы были войти полная дата, то она, вероятно, лучше всего подходят для хранения его в течение пользовательские поля на отдельный элемент.Если бы мы могли использовать только год, хотя мы могли бы сохранить его как срок, в течение пользовательской таксономии (we’ D, вероятно, называют это “ year”) и использовать его, чтобы показать другие ресурсы записано, что же year.

Вопрос в том, действительно ли вы хотите связать содержание (в нашем случае, “ resources”) по информации you’ повторного рассмотрения.Если вы don’ T вижу необходимости связать содержание (и don’ т упланы), то пользовательские поля является путь.Если у вас есть необходимость связать содержание или увидеть потенциальную необходимость в будущем, то пользовательские таксономии это путь к go.

Media Storage – WordPress против третьих Party

Сейчас у нас есть пользовательский тип записи и пользовательской таксономией на месте, it’ S времени, чтобы загрузить некоторые СМИ.Нашей целью является сделать это как простой процесс для конечного пользователя, насколько это возможно.Есть два способа, которыми мы можем управлять средствами массовой информации, либо непосредственно в WordPress или через третьих party.

  • WordPress управляемых — WordPress имеет систему управления средствами массовой информации встроены.Вы можете загружать медиа непосредственно из вашего поста тип интерфейса или от “ media” раздел в админке WordPress.Если хранение или пропускной способности становится проблемой, вы можете использовать плагин (такие как WP Super Cache), чтобы разгрузить хранения средств массовой информации к третьим лицам сети доставки контента (CDN), чтобы оптимизировать скорость доставки и сэкономить на bandwidth.
  • Третий Party – Движение по этому пути, вы мо …

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


Comments are closed.