Глюк 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) ты не тем типом шаблонов это делаешь.
Да и вообще как-то Вы замороченно и непонятно делаете.
Спасибо за ответ, но есть просьба:
немного подробнее, чем "кое что" и "не тем типом шаблонов" можно? То, что страничку можно переименовать об этом я писал и сам.
И про "типы шаблонов" слышу в первый раз - поясните, если не сложно?
Выводите архивы как архивы(свои таксономии), страницы как страницы, и там и там работает ВП цикл.