Статьи

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

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

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

Вот некоторые примеры (обратите внимание, что ни одна из них не является активной ссылкой):

  1. http://acme-demo.com/?p=100
  2. http://acme-demo.com/2014/03/21/hello-world/
  3. http://acme-demo.com/hello-world/
  4. http://acme-demo.com/archives/100

Различные структуры URL, которые вы видите выше, указывают на один и тот же пост; однако все они выглядят совершенно по-разному, верно?

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

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

Но я отвлекся на остальную часть этой темы.

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

Например, когда речь идет об использовании WordPress, не все будет «постом». Вместо этого у вас может быть «Тип сообщения» «Автомобиль», на котором вы можете написать описание определенного типа транспортного средства.

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

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

Чтобы понять это, давайте взглянем на эти пользовательские аспекты WordPress и роль перезаписи URL.

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

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<?php
function tutsplus_create_posttype() {
    register_post_type( ‘acme_product’,
        array(
            ‘labels’ => array(
                ‘name’ => ‘Products’
                ‘singular_name’ => ‘Product’
            ),
            ‘public’ => true,
            ‘has_archive’ => true,
            ‘rewrite’ => array(‘slug’ => ‘products’),
        )
    );
}
add_action( ‘init’, ‘tutsplus_create_posttype’ );

Во-первых, этот пример заимствован непосредственно из статьи Кодекса о пользовательских типах записей .

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

В приведенном выше примере ваш продукт, скажем, acme-product будет доступен через /products/acme-product/ URL. Это потому, что мы установили slug для продукта, а заголовок пользовательского типа записи будет «Acme Product», что приведет к URL acme-product адресу acme-product .

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

Но прежде чем идти дальше, помните, что таксономии определяются как способ классификации информации. Например, категории являются таксономиями. Определенная категория, скажем, «Код» – это термин таксономии.

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

Непосредственно из статьи Кодекса таксономии давайте рассмотрим следующий пример:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
<?php
function tutsplus_people_init() {
    register_taxonomy(
        ‘people’,
        ‘post’,
        array(
            ‘label’ => ‘People’,
            ‘rewrite’ => array( ‘slug’ => ‘person’ ),
            ‘capabilities’ => array(
                ‘assign_terms’ => ‘edit_guides’,
                ‘edit_terms’ => ‘publish_guides’
            )
        )
    );
}
add_action( ‘init’, ‘tutsplus_people_init’ );

В этом примере мы представляем новую таксономию – people -, которая применима к стандартному типу записей.

Заметьте, однако, что слизняк для людей – это не people , а person . Это означает, что если мы хотим просмотреть сообщение, помеченное таксономией People, URL-адрес будет иметь следующий вид: /person/john-smith/ где people – это таксономия, а «John Smith» – название сообщения.

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

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

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