Создал свой тип материалов в wordpresse. Во-первых, им можно придавать три формата: стандартный, видео и изображение. Во-вторых, ещё задавать периоды времени к которым относятся.
Нужно чтобы записи сортировались, в первую очередь, по этим периодам. А внутри каждого периода выводились группами в зависимости от формата: видео, изображение и стандартный.
Пока что у меня вот так:
$args = array(
'post_type' => 'otzivi',
'publish' => true,
'paged' => get_query_var('paged'),
);
query_posts($args);
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="col-xs-10 col-sm-10 col-md-7">
<h1><? the_title(); ?></h1>
<?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?>
<? the_content(); ?>
<? include 'share.php'; ?>
</div>
<? endwhile; endif; ?>
Выводится соответственно просто списком (плюс, как я понял лучше использовать get_posts(); )
В functions.php создаю таксономию для периода времени:
add_action( 'init', 'create_book_taxonomies', 0 );
function create_book_taxonomies(){
$labels = array(
'name' => _x( 'Года', 'taxonomy general name' ),
'singular_name' => _x( 'Год', 'taxonomy singular name' ),
'search_items' => __( 'Поиск года' ),
'all_items' => __( 'Все года' ),
'edit_item' => __( 'Редактировать год' ),
'update_item' => __( 'Обновить год' ),
'add_new_item' => __( 'Добавить год' ),
'new_item_name' => __( 'Новый год' ),
'menu_name' => __( 'Период времени' ),
);
register_taxonomy('tax_otzivi', array('otzivi'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
));
}
Добавляю тип формата записи:
add_theme_support( 'post-formats', array( 'image', 'video' ) );
И в коде, где регистрирую этот материла добавляю поддержку 'post-formats'