Intereting Posts
Выходные значения из Customizer не работают показать x количество сообщений из категории y на главной странице Как var_dump элементы меню навигации из любого места? Как поймать все ошибки PHP с помощью специального обработчика ошибок? Редактирование текстового файла из меню плагинов Shortcode не выводит всю желаемую разметку Разделить цикл wordpress на несколько макетов Пользовательский интерфейс для таксономий и запросов Страница медиа-библиотеки очень медленно, загружая изображения с полным качеством Информация об авторе на всех страницах Вручную установить выбранное пользовательское подменю? Должен ли я защищать только wp-login.php? Перезаписывание автоматически добавленного запроса NOT IN в WP_Query Как использовать тот же адрес электронной почты для нескольких пользователей Консоль показывает ReferenceError: jQuery не определен, нет подсказки почему!

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

Имейте 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 ); } 

Solutions Collecting From Web of "Настройки пользовательских сообщений и постоянных ссылок"

Вы можете использовать параметр 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 ); }