Один из пользовательских типов сообщений, которые у меня есть на сайте, теперь больше не работает: записи базы данных все еще существуют, но я не могу получить доступ к сообщениям. Я думаю, что это известная проблема с permalinks, но, пройдя большое количество сообщений и попробовав предлагаемые решения, я все еще не согласен с этой проблемой.Постоянная ссылка/Проблема с настраиваемым типом сообщений - не удалось решить
У меня есть «один, php» файл с некоторым кодом сортировки, который затем перенаправляется на три разных отдельных файла («single-author.php», «single-book.php», «single-event.php») ,
Что я пробовал:
- Switching структуру постоянных ссылок и переключение обратно
- правила перезаписи Промывка
- Проверка правил перезаписи в .htaccess
Если я создаю новую запись в этот пользовательский тип сообщения я вижу в «предварительном просмотре», но как только я его опубликовал, я получаю 404. Проблема, похоже, не влияет на другие пользовательские типы сообщений, которые я запускал на сайте. Помимо недавнего обновления WP, я не внес никаких изменений на сайт.
Прилагаю соответствующий код ниже - любые указатели или помощь были бы очень благодарны, поскольку я не уверен, что еще попробовать, чтобы исправить проблему.
Большое спасибо!
add_action('init', 'authors_register');
function authors_register() {
$labels = array(
'name' => _x('Authors', 'post type general name'),
'singular_name' => _x('Author', 'post type singular name'),
'add_new' => _x('Add New', 'portfolio item'),
'add_new_item' => __('Add New Author'),
'edit_item' => __('Edit Author'),
'new_item' => __('New Author'),
'view_item' => __('View Author'),
'search_items' => __('Search Authors'),
'not_found' => __('Nothing found'),
'not_found_in_trash' => __('Nothing found in Trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 5,
'supports' => array('title','thumbnail','revisions','excerpt'),
'taxonomies' => array('category', 'post_tag')
);
register_post_type('author' , $args);
}
Сортировка/переключение кода в single.php:
<?php if ('post_type=book') { include (TEMPLATEPATH . '/single-book.php'); }
elseif ('post_type=event') { include (TEMPLATEPATH . '/single-event.php'); }
elseif ('post_type=author') { include (TEMPLATEPATH . '/single-author.php'); }
else { include (TEMPLATEPATH . '/single-post.php'); } ?>
Может быть, имя автора является конфликтом. Попробуйте использовать другой пост-тип. –
Спасибо, Биндия, хотя я не уверен, с чем это будет связано. У меня есть страница, в которой перечислены все авторы, но это «page-authors.php» (множественное число, а значит, другое слизняк). – Rob