Это для приюта для кошек. У меня есть пользовательский тип сообщения, называемый «cat».WordPress || Пользовательские типы сообщений, постоянные ссылки и цифры
У меня тогда есть таксономия доступности, с «доступными» и «homed».
Все работает нормально ... пока не будут дублированы имена кошек. Например, если Мило приходит через месяц, то через год появляется еще один Мило. Очевидно, что WordPress создаст siteurl/cat/milo/, а затем для второго создайте siteurl/cat/milo-2/.
Оригинал Milo отлично работает ... как только номер введен в, сорго-2 не работает, и перенаправляет на 404.
ТАМОЖЕННЫЙ ПОСТ Тип
function cat_post_type() {
$labels = array(
'name' => _x('Cats', 'Post Type General Name', 'text_domain'),
'singular_name' => _x('Cat', 'Post Type Singular Name', 'text_domain'),
'menu_name' => __('Cats', 'text_domain'),
'name_admin_bar' => __('Cats', 'text_domain'),
'parent_item_colon' => __('Parent Cat:', 'text_domain'),
'all_items' => __('All Cats', 'text_domain'),
'add_new_item' => __('Add Cat', 'text_domain'),
'add_new' => __('New Cat', 'text_domain'),
'new_item' => __('New Cat', 'text_domain'),
'edit_item' => __('Edit Cat', 'text_domain'),
'update_item' => __('Update Cat', 'text_domain'),
'view_item' => __('View Cat', 'text_domain'),
'search_items' => __('Search cats', 'text_domain'),
'not_found' => __('No cats found', 'text_domain'),
'not_found_in_trash' => __('No cats found in Trash', 'text_domain'),
);
$args = array(
'label' => __('cats', 'text_domain'),
'description' => __('All cats', 'text_domain'),
'labels' => $labels,
'supports' => array('title', 'editor', 'thumbnail', 'comments'),
'taxonomies' => array('available', 'homed'),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-smiley',
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
);
register_post_type('cat', $args);
}
Систематика
// Hook into the 'init' action
add_action('init', 'cat_post_type', 0);
function add_custom_taxonomies() {
// Add new "Locations" taxonomy to Posts
register_taxonomy('availability', 'cat', array(
// Hierarchical taxonomy (like categories)
'hierarchical' => true,
// This array of options controls the labels displayed in the WordPress Admin UI
'labels' => array(
'name' => _x('Cats Availability', 'taxonomy general name'),
'singular_name' => _x('Cat Availability', 'taxonomy singular name'),
'search_items' => __('Search Cat Availability'),
'all_items' => __('All Availability'),
'parent_item' => __('Parent Availability'),
'parent_item_colon' => __('Parent Availability:'),
'edit_item' => __('Edit Availability'),
'update_item' => __('Update Availability'),
'add_new_item' => __('Add New Availability'),
'new_item_name' => __('New Availability'),
'menu_name' => __('Availability'),
),
// Control the slugs used for this taxonomy
'rewrite' => array(
'slug' => 'cats', // This controls the base slug that will display before each term
'with_front' => false, // Don't display the category base before "/locations/"
'hierarchical' => true // This will allow URL's like "/locations/boston/cambridge/"
),
));
}
add_action('init', 'add_custom_taxonomies', 0);
Мы думали, что это может быть что-то в БД противоречивыми ... пытался повторно экономить на malinks, удаление неиспользуемых записей БД, отключение всех плагинов ... ничего.
вручную переименовать кошку, скажем, milo_ работает отлично, но с любым количеством в нем просто посылает назад мой 404.
Использования помешанного отзывчивую темы, ни ребенок темы. Стандартный htaccess.
Я пропустил что-то явно очевидное?
Неполный сайт здесь - найти кошку с номером в его ссылке ... http://catsnottingham.zellement.com/cats/homed/
да, вы правы в отношении зарезервированного слова https://codex.wordpress.org/Function_Reference/register_taxonomy#Reserved_Terms – yuyokk