WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Глюк 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 такого не допускает!
Теряюсь в догадках, что это может быть. Подскажите пожалуйста что это такое и как с этим бороться...

0
Myakish
2 месяца назад 6
  • 0
    el-lable380 el-lable.ru

    Ту страничку что ты создал переименуй в archive-creators.php
    Но у тебя не будет работать кое что из того что ты там написал.
    А вообще у тебя 2 проблемы.
    1) у тебя одинаковые слуги у произвольной таксономии и твоей странице.
    2) ты не тем типом шаблонов это делаешь.

    Да и вообще как-то Вы замороченно и непонятно делаете.

    Myakish 2 мес назад

    Спасибо за ответ, но есть просьба:
    немного подробнее, чем "кое что" и "не тем типом шаблонов" можно? То, что страничку можно переименовать об этом я писал и сам.
    И про "типы шаблонов" слышу в первый раз - поясните, если не сложно?

    el-lable 2 мес назад

    Выводите архивы как архивы(свои таксономии), страницы как страницы, и там и там работает ВП цикл.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация