Обычно я стараюсь найти ответы, поиск в Интернете или бесконечные эксперименты. На этот раз я действительно в отчаянии. Я прочитал много связанных вопросов, но ни у кого нет решения моей проблемы.Wordpress get_template_part не работает - возвращает 404 страницу вместо loop-xxx.php
Я использую 'get_template_part' во многих других темах, и это сработало хорошо. На этот раз я не знаю, что изменило ситуацию.
В моей теме есть зарегистрированный пользовательский почтовый тип event. URL-адрес сообщения в случае будет выглядеть так: example.com/event/wine-tasting.
Проблема: example.com/event/ возвращает страницу 404 вместо выстраиваться все сообщения о событиях (петля-event.php)
Вот мой archive.php:
<?php get_header(); ?>
<?php if (have_posts()) the_post();?>
<?php rewind_posts();?>
<?php $post_type = get_post_type();
get_template_part('loop', $post_type);?>
<?php get_footer(); ?>
Вот моя петля-event.php:
<?php get_header(); ?>
<?php if (have_posts()) while (have_posts()) : the_post(); ?>
<div class="container">
<?php the_title();?>
<?php the_content();?>
</div>
<?php endwhile; ?>
Это, как я зарегистрировать пользовательский тип записи 'событие':
function yd_create_post_type_event()
{
$labels = array(
'name' => __('Events','yd'),
'singular_name' => __('Event','yd'),
'add_new' => __('Add New','yd'),
'add_new_item' => __('Add New Event','yd'),
'edit_item' => __('Edit Event','yd'),
'new_item' => __('New Event','yd'),
'view_item' => __('View Event','yd'),
'search_items' => __('Search Event','yd'),
'not_found' => __('No event found','yd'),
'not_found_in_trash' => __('No event found in Trash','yd'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_admin_bar' => true,
'query_var' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 5,
'menu_icon' => 0,
'supports' => array('title','editor','excerpt')
);
register_post_type('event',$args);
}
register_taxonomy(
"event-category",
array("event"),
array(
"hierarchical" => true,
"label" => __("Event Categories",'yd'),
"singular_label" => __("Event Category",'yd'),
"rewrite" => array('slug' => 'event')
)
);
Буду признателен за вашу помощь. Я пробовал все, и мне жаль, что я сделал некоторые глупые ошибки. Но до сих пор я не мог это сделать. Заранее спасибо!
Эта проблема была отсортирована ... По сути, я подумал, что * example.com/event/* будет возвращать loop-event.php, но на самом деле это должны быть URL-адреса категорий, например * example.com/event-category/all- события/* и т. д. ... мозг закорочен. –