Predaytor
@Predaytor
C# .NET Core, React, Typescript

Почему вместо archive-{post_type} работает single?

При регистрации нового типа записи, он должен быть как страницы, не посты, возникает проблема шаблона.
Ни archive.php, ни archive-projects.php не работают, single-projects.php работает. И как удалить слаг "projects" в ссылке?

function register_post_types(){
	$labels = array(
		'name'               => 'Projects', 
		'singular_name'      => 'Project',
		'add_new'            => 'Add a project',
		...
	);
 
	$args = array(
		'labels'             => $labels,
		'description'        => __( 'Projects of', 'textdomain' ),
		'capability_type'    => 'page',
		'public'             => true,		
		'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'page-attributes' ),
		'show_in_rest'       => true,
		'hierarchical'       => true,
		'has_archive' 	 => true,
		'publicly_queryable' => true,
		'query_var'          => 'projects',
		'rewrite'            => array( 'slug' => '' )
	);

	register_post_type( 'projects', $args );
}
  • Вопрос задан
  • 34 просмотра
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Почему вместо archive-{post_type} работает single?

А почему должно быть по другому?
archive-projects.php — для вывода всех записей типа projects
single-projects.php — для вывода одной записи типа projects

он должен быть как страницы

Параметр capability_type задает только разрешения. Для вывода записи используется шаблон single-projects.php.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы