Intereting Posts
проблема загрузки таблиц стилей в wp_head проблема с использованием ajax url get_categories иерархический порядок, например wp_list_categories – с именем, slug & link для редактирования cat Разрешить все типы файлов для загрузки Поиск «2nd» также возвращает «22nd» в wp_query Как перечислить атрибут the_tags () в атрибут данных HTML Настройка сети wordpress с доменами третьего уровня Пользовательский параметр темы не отображает сохраненные значения в wp_head (CSS) $ wpdb-> не работает с префиксом таблицы обновлений Использование add_sub_menu для размещения в разделе «Внешний вид» Как изменить i18n / l10n # reply-title? (Старое название: Комментарий ответ не работает) Как добавить встроенное слово после имени автора комментария автора? Как использовать функции изображения WP в шаблоне страницы? Как запретить пользователю регистрироваться с определенным словом в имени пользователя? Не работает сайт Multisite Create

Пользовательская отдельная запись по категориям

Я пытаюсь ускорить работу с терминологией Word и Word, поэтому извиняюсь.

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

Я стараюсь иметь как можно больше под типом Post Post, а страницы списка верхнего уровня – это страницы категорий.

Одна категория – "работа"

Я смог настроить их, создав настраиваемые файлы категорий. Work.php и loop-work.php. Но как мне заняться созданием индивидуального сообщения по категориям?

Похоже, что создание single-work.php будет искать настраиваемый тип сообщения, называемый «работа». Есть ли способ сделать модифицированный клон single.php, который запускается по категории / категории?

Solutions Collecting From Web of "Пользовательская отдельная запись по категориям"

Сделайте свой single.php следующим:

<?php $post = $wp_query->post; if ( in_category( 'work' ) ) { include( TEMPLATEPATH.'/single-work-cat.php' ); } else { include( TEMPLATEPATH.'/single-generic.php' ); } ?> 

и сделайте single-work-cat.php шаблон, который вы хотите показать для отдельных публикаций категории работы, и single-generic.php, который вы хотите показать во всех других случаях. Для более категорий просто добавьте больше инструкций elseif и создайте новые отдельные шаблоны.

Я понимаю, что это старый вопрос, но в случае, если кто-то еще найдет во время поиска в той же теме, имейте в виду, что вы не должны использовать include-заявления в своих темах WordPress. Всегда используйте get_template_part () или locate_template () .

(см. http://make.wordpress.org/themes/guidelines/guidelines-theme-check/ )

Следующий код использует фильтры WordPress для выполнения задачи и автоматически ищет шаблоны для всех категорий:

 /** * Replace "themeslug" with your theme's unique slug * * @see http://codex.wordpress.org/Theme_Review#Guidelines */ add_filter( 'single_template', 'themeslug_single_template' ); /** * Add category considerations to the templates WordPress uses for single posts * * @global obj $post The default WordPress post object. Used so we have an ID for get_post_type() * @param string $template The currently located template from get_single_template() * @return string The new locate_template() result */ function themeslug_single_template( $template ) { global $post; $categories = get_the_category(); if ( ! $categories ) return $template; // no need to continue if there are no categories $post_type = get_post_type( $post->ID ); $templates = array(); foreach ( $categories as $category ) { $templates[] = "single-{$post_type}-{$category->slug}.php"; $templates[] = "single-{$post_type}-{$category->term_id}.php"; } // remember the default templates $templates[] = "single-{$post_type}.php"; $templates[] = 'single.php'; $templates[] = 'index.php'; /** * Let WordPress figure out if the templates exist or not. * * @see http://codex.wordpress.org/Function_Reference/locate_template */ return locate_template( $templates ); } 

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