Глюк WP
Здравствуйте,
Я создал новый тип записи:
add_action('init', function () {
$labels = [
'name' => 'Создатели',
'menu_name' => 'Создатели',
'singular_name' => 'Создатель',
'add_new' => 'Добавить создателя',
'add_new_item' => 'Добавить нового создателя',
'edit_item' => 'Редактировать создателя',
'new_item' => 'Новый создатель',
'all_items' => 'Все создатели',
'view_item' => 'Посмотреть создателя',
'search_items' => 'Найти создателя',
'not_found' => 'Ничего не найдено',
'not_found_in_trash' => 'В корзине ничего не найдено'
];
$args = [
'labels' => $labels,
'public' => true,
'menu_position' => 8,
'menu_icon' => 'dashicons-universal-access',
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'page', //'post',
'has_archive' => true,
'hierarchical' => false,
'supports' => ['title', 'excerpt', 'custom-fields'],
'taxonomies' => [],
];
register_post_type('creators', $args);
});
Далее создал обычную страницу, которая должна выводить эти новые записи по следующему шаблону:
<?php
/*
Template Name: 4-Creators
Template Post Type: page
*/
?>
<?php get_header (); ?>
<?php $title=esc_html( get_the_title() ); ?>
<div class='content'><h1 class='art-h1'><span><?php echo $title;?></span></h1></div>
<div class='content'>
<?php
$args = array('post_type' => 'creators', /*'type_artist' => 'hired',*/ 'nopaging'=>'true', 'orderby'=>'title', 'order'=>'ASC');
$query = new WP_Query( $args );
//echo "<div class='grid-box'>";
$i=0;
while ( $query->have_posts() ) {
$query->the_post();
$fio = explode( " ", get_the_title() );
$img = '/artists_img/'.get_field('photo');
$artist_1_list[$i]['first'] = $fio[0];
$artist_1_list[$i]['second'] = $fio[1];
$artist_1_list[$i]['last'] = $fio[2];
$artist_1_list[$i]['href'] = get_permalink();
$artist_1_list[$i]['img'] = $img;
$artist_1_list[$i]['rank'] = get_field('rank');
// $artist_1_list[$i]['type'] = $term_tax[0];
$i++;
}
//echo "</div>";
wp_reset_postdata();
$artist_2_list = wp_list_sort( $artist_1_list, 'last', 'ASC' );
?>
<div class='grid-box'>
<?php foreach($artist_2_list as $art) { ?>
<a style='text-align:center;width:100%;' href='<?php print $art['href'];?>'>
<img src='<?php print $art['img']; ?>'>
<div class='first-name'><?php print $art['first'];?></div><div class='last-name'><?php print $art['last'];?></div>
</a>
<?php }?>
</div>
</div> <!-- content -->
<?php get_footer(); ?>
В результате должен получить вот это:
, а получаю вот это:
Опытным путём установил: если задать ярлык creators, то выводится не то, что надо. Если указать creator, то производится переадресация на creators и опять на экране не то, что надо (никаких переадресаций в .htaccess нет). Если указать, например, creator2, то всё хорошо.
Такое впечатление, что в WP уже существует страница с таким ярлыком. Но мне WP даёт создать такую страницу! Обычно ведь WP такого не допускает!
Теряюсь в догадках, что это может быть. Подскажите пожалуйста что это такое и как с этим бороться...


Ту страничку что ты создал переименуй в archive-creators.php
Но у тебя не будет работать кое что из того что ты там написал.
А вообще у тебя 2 проблемы.
1) у тебя одинаковые слуги у произвольной таксономии и твоей странице.
2) ты не тем типом шаблонов это делаешь.
Да и вообще как-то Вы замороченно и непонятно делаете.
Спасибо за ответ, но есть просьба:
немного подробнее, чем "кое что" и "не тем типом шаблонов" можно? То, что страничку можно переименовать об этом я писал и сам.
И про "типы шаблонов" слышу в первый раз - поясните, если не сложно?
Выводите архивы как архивы(свои таксономии), страницы как страницы, и там и там работает ВП цикл.