Разрабатываю тему для wordpress. Столкнулся с проблемой:
Зарегистрировал новый тип контента "Фильм". Добавил в functions.php код:
function custom_film_type() {
$labels = array(
'name' => _x( 'Фильмы', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Фильм', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'Фильмы', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'all_items' => __( 'Все фильмы', 'text_domain' ),
'view_item' => __( 'Просмотреть фильм', 'text_domain' ),
'add_new_item' => __( 'Добавить фильм', 'text_domain' ),
'add_new' => __( 'Добавить фильм', 'text_domain' ),
'edit_item' => __( 'Редактировать фильм', 'text_domain' ),
'update_item' => __( 'Обновить фильм', 'text_domain' ),
'search_items' => __( 'Искать фильм', 'text_domain' ),
'not_found' => __( 'Не найдено', 'text_domain' ),
'not_found_in_trash' => __( 'В корзине не найдено', 'text_domain' ),
);
$args = array(
'label' => __( 'Films', 'text_domain' ),
'description' => __( 'Описание фильма', 'text_domain' ),
'labels' => $labels,
'supports' => array( ),
'taxonomies' => array('film_year'),
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
'rewrite' =>
array('slug' => 'films'),
'supports' => array(
'title',
'editor',
'excerpt',
'trackbacks',
'custom-fields',
'comments',
'revisions',
'thumbnail',
'author',
'page-attributes',),
);
register_post_type( 'film', $args );
//flush_rewrite_rules();
}
add_action( 'init', 'custom_film_type', 0 );
Добавил свою таксономию для фильмов:
add_action( 'init', 'create_film_taxonomies', 0 );
function create_film_taxonomies() {
// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
'name' => _x( 'Год', 'taxonomy general name' ),
'singular_name' => _x( 'Год', 'taxonomy singular name' ),
'search_items' => __( 'Поиск года' ),
'popular_items' => __( 'Популярные годы' ),
'all_items' => __( 'Все годы' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Редактировать год' ),
'update_item' => __( 'Обновить год' ),
'add_new_item' => __( 'Добавить год' ),
'new_item_name' => __( 'Добавить название года' ),
'separate_items_with_commas' => __( 'Годы разделяются запятыми' ),
'add_or_remove_items' => __( 'Добавить или удалить год' ),
'choose_from_most_used' => __( 'Выбрать из часто используемых' ),
'not_found' => __( 'Год не найден' ),
'menu_name' => __( 'Год' ),
);
$args = array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'films-year' ),
);
register_taxonomy( 'film_year', 'film', $args );
}
Создал файл в корне папки с темой taxonomy-film_year.php и добавил туда следующий код:
<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );?>
<?php //print_r($term); ?>
<h1 class="year-title">Год: <?php echo apply_filters( 'the_title', $term->name ); ?></h1>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
В итоге на странице термина таксономии выводится только значение самого термина: "Год: 2014"
Сами же посты не выводятся. Не могу понять, в чем причина, где допустил ошибку.
Подскажите, пожалуйста.