Отдельные страницы для каждой рубрики как категории в joomla

Пишу чтоб не забыть самому. Для того кто не в курсе для чего это вообще. Если нам нужно выводить записи из разных рубрик на отдельной странице, например как у меня на сайте, чтоб на станице которая в шапке arduino-shcool выводились статьи только из рубрики arduino-shcool. Это грубо говоря, аналогия категорий у CMS Joomla. И так начнем.
Для начала переходим по пути где наша тема,

/sadeb.ru/public_html/wp-content/themes/twentyten

там уже создаем файл с расширением php, и названием вашей будущей новой категории(страницы), у меня это будет page-arduino.php. Содержимое файла будет следующим.

<?php
/*"Template Name: page-arduino*/
get_header(); ?>
<?php query_posts('cat=26'); ?>
<div id="container">
<div id="content" role="main">
<?php
<?php the_post_thumbnail( $size, $attr );
 /*
 * Run the loop to output the page.
 * If you want to overload this in a child theme then include a file
 * called loop-page.php and that will be used instead.
 */
get_template_part( 'loop', 'single' );
?>
 </div><!-- #content -->
 </div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
/*
Template Name: page-arduino - вместо этого пишем свое название
*/

остальной код рассмотрим потом.
Дальше заходим в админ-панель, там  Страница / Добавит новую, если вы создали файл о котором речь шла выше, то у вас должен появится в Атрибутах страницы новый шаблон с вашим названием желаемой категории.
arduino-page
Выбираем его. Наверняка вы уже создали нужную рубрику из которой будут выводится наши статьи в отдельной категории, если нет то создайте Записи / Рубрики. Теперь пока мы еще в разделе Рубрики посмотрим какой ID ей присвоен. Для этого посмотрим в адресную строку браузера, в это время вы должны быть в редактирование нужной рубрики.
arduino-page-ID
И так запомнили наш ID, теперь переходим к коду который мы создали.
Сам код я скопировал почти полностью с файла single.php(у меня он находится в корне папки темы twentyten) только я в нем заменил шапку с названием и добавил этот код <?php query_posts(‘cat=26’); ?> который будет отображать только статьи с рубрики под номером ID=26. Еще пору примеров для использования этой функции вы можете посмотреть по ссылке.

<?php
/*"Template Name: page-arduino*/  //Шапка с названием категории
get_header(); ?>
<?php query_posts('cat=26'); ?> //cat=ID рубрики.

Еще если вы как и я не хотите, чтоб из нашей новой отдельной рубрике статьи не отображались в основной ветке, то находим все в корне темы файл index.php и дописываем по моему примеру строку.
После этого не переходит на предыдущие страницы, я это не решил, если знаете как это сделать напишите комментарий.

get_header(); ?>
<?php query_posts('cat=-26'); ?> // Эту строчку добавляем, она игнорирует рубрику под №26

все.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.