Создал произвольную таксономию
taxnews, а также произвольный тип записи
news, после чего перенес из стандартной
category соответствующие записи в данную таксу(
категорию, где они были закреплены тоже) и изменил их тип на
news, но не могу сделать ее вывод стандартными средствами. По идее все должно быть по умолчанию. Например, в моем шаблоне вывод записей идет через файл
category.php, я скопировал оттуда код в новый
taxonomy-taxnews.php, кстати по умолчанию вывод новой таксономии производился через
archive.php(может это важно). В любом случае независимо от файла вывода возвращается 404.
Вылечил так:
$qur = 'post_type=news';
query_posts( $qur );
Однако так не работала пагинация, все последующие после первичного вывода страницы были пусты. И хотя это тоже можно починить. Как все таки вывести основным запросом, который берет параметры из ссылки? Параметр
taxnews=allnews
, параметр для стандартной таксономии
category_name=allnews
.
Делал на основе данной
статьи, код идентичен за исключением файлов вывода(
у меня другой шаблон).
Часть кода из файла вывода, отвечающая за вывод и пагинацию записей:
Простынь<?php
/**
* Examiner taxnews page
**/
?>
<?php get_header();
$exm1_category_post_style = get_option('exm1_category_post_style');
$author_show = get_option('exm1_category_show_author');
$date_show = get_option('exm1_category_show_date');
?>
<?php $exm1_popular_widget = get_option('exm1_popular_widget'); if ($exm1_popular_widget == "true") { ?>
<div class="fullwidth popular-part">
<div class="home-widget four-parts">
<?php exm1_popular_posts();?>
</div>
<!--home-widget four-parts-->
</div>
<!--fullwidth-->
<?php } ?>
<div id="main">
<div id="primary" class="three-parts archive">
<?php if ($exm1_popular_widget != "true") {?>
<div class="widget-title">
<h1>
<?php echo esc_html(get_option('exm1_word_before_category')); ?>
<?php single_cat_title(); ?>
</h1>
</div>
<!--widget-title-->
<?php } ?>
<div id="blog-list" <?php if ( $exm1_category_post_style == 'style_1' ){echo 'class="blog-category"';}elseif( $exm1_category_post_style == 'style_2' ){echo 'class="exm1-blog-posts-category"';}elseif( $exm1_category_post_style == 'style_3' ){echo 'class="img-featured"';}?>>
<ul>
<?php if (have_posts()) : while (have_posts()) : the_post();?>
<li>
<?php if ( $exm1_category_post_style == 'style_1' ){
category_post_style1($author_show, $date_show);
}elseif( $exm1_category_post_style == 'style_2' ){
category_post_style2($author_show, $date_show);
}elseif( $exm1_category_post_style == 'style_3' ){
category_post_style3($author_show, $date_show);
}?>
</li>
<?php endwhile; else : ?>
<div class="widget-title"><?php echo esc_html(get_option('exm1_no_match')); ?></div>
<?php endif;?>
</ul>
</div>
<?php $exm1_pagination_style = get_option('exm1_pagination_style');if($exm1_pagination_style =='ajax' || $exm1_pagination_style =='auto-load' ){?>
<div class="pagination pagination-load-more <?php if($exm1_pagination_style =='auto-load'){echo esc_attr('auto-load');}?>">
<?php $loadmoreword = get_option('exm1_word_load_more');
next_posts_link(esc_html($loadmoreword), '' ); ?>
</div>
<!--pagination-->
<?php } else { ?>
<div class="pagination-simple">
<?php exm1_pagination(); ?>
</div>
<!--pagination-simple-->
<?php } ?>
</div>