Время чтения: 3 мин. 27 апреля 2016 в 10:21 Wordpress
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

Иерархия WordPress

Схема иерархии wordpress

Схема иерархии wordpress

Пример использования №1

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

2016-04-27_121849

Для создания, добавляем код в файл function.php

[php]

#
# Products
#

$labels = array(
‘name’ => _x(‘Product’, ‘product’, ‘rt_theme_admin’),
‘singular_name’ => _x(‘product’, ‘product’, ‘rt_theme_admin’),
‘add_new’ => _x(‘Add New’, ‘product item’, ‘rt_theme_admin’),
‘add_new_item’ => __(‘Add New Product Item’, ‘rt_theme_admin’),
‘edit_item’ => __(‘Edit Product Item’, ‘rt_theme_admin’),
‘new_item’ => __(‘New Product Item’, ‘rt_theme_admin’),
‘view_item’ => __(‘View Product Item’, ‘rt_theme_admin’),
‘search_items’ => __(‘Search Product Item’, ‘rt_theme_admin’),
‘not_found’ => __(‘No Product Item Iound’, ‘rt_theme_admin’),
‘not_found_in_trash’ => __(‘No product item found in trash’, ‘rt_theme_admin’),
‘parent_item_colon’ => »
);

$args = array(
‘labels’ => $labels,
‘public’ => true,
‘publicly_queryable’ => true,
‘exclude_from_search’ => false,
‘show_ui’ => true,
‘query_var’ => false,
‘can_export’ => true,
‘show_in_nav_menus’ => true,
‘capability_type’ => ‘post’,
‘menu_position’ => null,
‘rewrite’ => array( ‘slug’ => $product_slug, ‘with_front’ => true, ‘pages’ => true, ‘feeds’=>false ),
‘menu_icon’ => THEMEADMINURI .’/images/product-icon.png’, // 16px16
‘supports’ => array(‘title’,’editor’,’author’)
);

register_post_type(‘products’,$args);

// Product Categories
$labels = array(
‘name’ => _x( ‘Product Categories’, ‘taxonomy general name’ , ‘rt_theme_admin’),
‘singular_name’ => _x( ‘Product Category’, ‘taxonomy singular name’ , ‘rt_theme_admin’),
‘search_items’ => __( ‘Search Product Category’ , ‘rt_theme_admin’),
‘all_items’ => __( ‘All Product Categories’ , ‘rt_theme_admin’),
‘parent_item’ => __( ‘Parent Product Category’ , ‘rt_theme_admin’),
‘parent_item_colon’ => __( ‘Parent Product Category:’ , ‘rt_theme_admin’),
‘edit_item’ => __( ‘Edit Product Category’ , ‘rt_theme_admin’),
‘update_item’ => __( ‘Update Product Category’ , ‘rt_theme_admin’),
‘add_new_item’ => __( ‘Add New Product Category’ , ‘rt_theme_admin’),
‘new_item_name’ => __( ‘New Genre Product Category’ , ‘rt_theme_admin’),
);

register_taxonomy(‘product_categories’,array(‘products’), array(
‘hierarchical’ => true,
‘labels’ => $labels,
‘show_ui’ => true,
‘query_var’ => false,
‘_builtin’ => false,
‘paged’=>true,
‘rewrite’ => array(‘slug’=>$product_categories_slug,’with_front’=>false),
));

[/php]

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

Для того чтоб создать индивидуальный шаблон для страницы product, нам нужно:

1) создать в корне темы файл с именем taxonomy-product_categories.php
2) разместить в файле свой HTML код в нем
3) Обновить ЧПУ путем: Настройки > Постоянные ссылки > Сохранить изменения (ничего менять не нужно, просто пересохранить. ) и все должно работать. Все категории из product будут выстраиваться по этом шаблону.

[php]

<?php get_header(); ?>

<!— page title —>
<h1><?php echo $term->name;?></h1>

Ваш контент

<?php get_footer(); ?>

[/php]

Пример 2

Нужно сделать определенное отображение определенной стандартной категории WordPress.

1) Создаем в корне шаблона файл category-ИМЯ-КАТЕГОРИИ.php
2) разместить в файле свой HTML код в нем
3) обновляем ЧПУ путем: Настройки > Постоянные ссылки > Сохранить изменения (ничего менять не нужно, просто пересохранить. ) и все должно работать.

Похожие статьи

Заказать обратный звонок

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Получить коммерческое предложение

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Какая услуга Вас интересует? *

Допонительные услуги

Комментарий

Получить коммерческое предложение

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Какая услуга Вас интересует? *

Допонительные услуги

Комментарий

Получить консультацию

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Комментарий

Получить консультацию

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Комментарий

[contact-form-7 404 "Not Found"]
[contact-form-7 404 "Not Found"]
Начать сотрудничество
Заполните поля ниже. Я лично перезвоню Вам в течении 15 минут для обсуждения деталей.

Введите ваше имя *

Введите контактный телефон *

Введите контактный Email для отправки точной стоимости

или позвоните мне по телефону
+7-499-70-300-44
Получить консультацию

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Комментарий

[contact-form-7 404 "Not Found"]
Получить коммерческое предложение

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Какая услуга Вас интересует? *

Допонительные услуги

Комментарий

Получить коммерческое предложение

Я свяжусь с Вами в течении 10 минут и отвечу на все Ваши вопросы.

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Какая услуга Вас интересует? *

Допонительные услуги

Комментарий

Заказать услугу
Я свяжусь с Вами в течении 15 минут в рабочее время для обсуждения деталей

Введите ваше имя *

Введите контактный телефон *

Введите контактный e-mail *

Запись на бесплатный урок
Введите ваше имя, телефон и skype логин.
Я свяжусь с Вами для уточнения времени прохождения урока.

Введите ваше имя *

Введите контактный телефон *

Введите контактный E-mail *

Выберите программу

Промокод

Задать свой вопрос
Напишите свой вопрос. Я прочитаю его, и дам ответ в течении 15 минут.

Введите ваше имя *

Введите контактный email *

Сообщение