Intereting Posts
Комментарии не работают? Вырезать родительскую категорию из get_the_category Как вставить изображение и текст из панели администратора в моей теме Поиск магазинов (пользовательское поле почтового индекса) в течение 5, 10, 15 миль от введенного пользователем почтового индекса. Изменение кода Назначение второй роли пользователю Как найти вредоносную ссылку на веб-сайте wp Создание блога на моем новом веб-сайте с использованием WordPress, но у меня есть проблемы с боковой панелью Функция обратного вызова register_settings удаляет данные Отсутствует опция «category_children» при динамическом создании категорий через плагин Добавить текст после слова WordPress Как получить атрибуты короткого кода из сообщения? Ссылка в подпапке ReDirect на другую подпапку и принудительное SSL Добавить теги для ранее созданных пользовательских типов сообщений Добавление флажка в настройку темы Разрешить пользователю редактировать страницу на основе их электронной почты

Настройки пользовательских сообщений и постоянных ссылок

Имейте WordPress в корне сайта. Хотите, чтобы структура URL для страниц была example.com/{page-slug}, а для сообщений – example.com/academy/{post-slug}. У меня есть постоянная ссылка, которая настраивается в качестве / academy /% postname% как структура.

Это отлично работает. Однако у меня есть настраиваемый тип сообщений, называемый определениями. Я хотел бы, чтобы структура URL-адресов определений была example.com/glossary/{definition-slug}. В настоящее время с указанным выше образом я получаю URL example.com/academy/definition/{definition-slug}

Есть ли способ исключить пользовательские типы сообщений из настроек постоянной ссылки?

Вот мое определение пользовательских сообщений:

function create_posttypes() { $labels1 = array( 'name' => __( 'Definitions' ), 'singular_name' => __( 'Definition' ), 'all_items' => __( 'All Definitions' ), 'view_item' => __( 'View Definition' ), 'add_new_item' => __( 'Add New Definition' ), 'edit_item' => __( 'Edit Definition' ), 'update_item' => __( 'Update Definition' ), 'search_items' => __( 'Search Definitions' ), 'not_found' => __( 'Not Found' ), 'not_found_in_trash' => __( 'Not Found in Trash' ), ); $args1 = array( 'label' => 'Definitions', 'description' => 'Definitions received', 'labels' => $labels1, 'public' => true, 'has_archive' => true, 'rewrite' => array('slug', 'definitions'), 'hierarchical' => false, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'page', 'supports' => array('title','thumbnail', 'revisions', 'page-attributes') ); register_post_type( 'definitions', $args1 ); } 

Вы можете использовать параметр rewrite чтобы отключить переднюю часть URL-адресов ( /academy/ в вашем случае) для пользовательских типов сообщений.

 function create_posttypes() { $labels1 = array( 'name' => __( 'Definitions' ), 'singular_name' => __( 'Definition' ), 'all_items' => __( 'All Definitions' ), 'view_item' => __( 'View Definition' ), 'add_new_item' => __( 'Add New Definition' ), 'edit_item' => __( 'Edit Definition' ), 'update_item' => __( 'Update Definition' ), 'search_items' => __( 'Search Definitions' ), 'not_found' => __( 'Not Found' ), 'not_found_in_trash' => __( 'Not Found in Trash' ), ); $args1 = array( 'label' => 'Definitions', 'description' => 'Definitions received', 'labels' => $labels1, 'public' => true, 'has_archive' => true, 'rewrite' => array( 'slug' => 'glossary', 'with_front' => false, ), 'hierarchical' => false, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'page', 'supports' => array('title','thumbnail', 'revisions', 'page-attributes') ); register_post_type( 'definitions', $args1 ); }