Wordpress - Как я могу создать свой собственный шаблон вне ожидаемой иерархии шаблонов и направить к нему запрос? - PullRequest
1 голос
/ 22 марта 2011

ФОН

Я использовал настраиваемые типы сообщений WordPress для создания раздела новостной рассылки для моего сайта. Бюллетени состоят из статей ( dm_article ), сгруппированных по таксономии вопросов ( dm_issues ).

1) Я создал индекс всех моих статей в бюллетене. Я использую шаблон с именем taxonomy-dm_issues.php для зацикливания в выбранной проблеме и отображения заголовка, выдержки и ссылки на полный текст каждой статьи, которая управляется single-dm_article.php . Это прекрасно работает.

2) Я также хотел бы создать второй шаблон на основе таксономии для вопросов. Это будет действовать в качестве удобного для печати варианта: «печатать всю рассылку». Я хотел бы, чтобы шаблон прошел цикл и отображал заголовок каждой статьи, выдержку и длинное описание. Некоторый внешний вид также будет другим.

Для # 2, давайте предположим, что я создал шаблон с именем print-dm_issues.php . В настоящее время он выглядит идентично таксономии-dm_issues.php, за исключением того, что содержит дополнительные подробные данные описания для каждой статьи и содержит несколько различных стилей.

Я хочу настроить эту опцию «дружественной печати», не заставляя администратора WordPress перепрыгивать через любые обручи, когда создаются Проблемы и Статьи. Я также не хочу создавать новый шаблон каждый раз, когда создается новая проблема.

ОСНОВНОЙ ВОПРОС:

То, что я прошу, может сводиться к следующему: Как я могу создать свой собственный шаблон WordPress вне ожидаемой иерархии шаблонов и передать ему запрос? Обратите внимание, что я использую общую структуру постоянных ссылок «месяц и имя», поэтому мне придется использовать мой htaccess.

АЛЬТЕРНАТИВЫ:

1) Мой запасной вариант состоит в том, чтобы taxonomy-dm_issues.php содержал информацию для обоих вариантов и использовал стиль для обработки различных состояний просмотра. Я знаю, как это сделать. Но я бы предпочел не делать это ради времени загрузки.

2) Использование Ajax для получения всех длинных описаний Article (the_content ()) одним щелчком мыши - вариант, но я не знаю, как.

3) ???

Ответы [ 2 ]

1 голос
/ 22 марта 2011

С чистыми URL-адресами или без них вы можете передавать переменные, основанные на ваших таксономиях, через строку запроса ссылок, если вы хотите вернуть только один термин таксономии и по-разному оформить страницу в зависимости от термина.

$taxonomyTerm = $_GET['dm_issues'];

$args=array(
  'post_type' => 'dm_article',
  'dm_issues' => $taxonomyTerm,
  'post_status' => 'publish',
);

Существует ссылка на документацию WordPress 'query_posts', передав переменную в параметры запроса: http://codex.wordpress.org/Function_Reference/query_posts#Example_4

Например, в приведенной ниже ссылке заголовок генерируется на основе строки в URL.
http://lph.biz/areas-we-serve/service-region/?region=Conestoga

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

if (empty($taxonomyTerm)) {
 $taxonomyTerm = 'Default Value';
} 
0 голосов
/ 22 марта 2011

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

<?php
 /*
 Template Name: Printed Page Template
*/

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...