Intereting Posts
Обратный поиск галереи по ID – NOT ID, но место на сайте! Медиа-библиотека не отображает изображения, но все еще подтверждает существование Как отображать данные из настраиваемых полей, которые я создал? Как установить идентификатор родительского сообщения вложений в коде? Два (или более) вида, с одним набором контента Удаление номера в категории slug Buddypress – добавить область действия WP MU – доступ к WP-Admin с доменным подключением с субдоменом Как добавить текст в начало всех комментариев? Получите налоговый термин, в котором находится сообщение через wp_query Как вручную добавить элемент в подменю в меню, создаваемом wp_nav_menu? Отключить постоянные ссылки на всех страницах и сообщениях Ограничить количество неактивных виджетов Если wp_query автоматически загружает мета-и терминологическое кеширование в среде с кэшированием объектов Могу ли я отделить комментарии от должности?

Изменить Slug в URL-адресах сообщений типа персонализированного сообщения

У меня есть пользовательский тип сообщения, зарегистрированный с 'has_archive' => 'gallery' . Он отлично работает при посещении mysite.com/gallery/ он открывает archive-vmgallery.php, и он отлично работает.

Тем не менее, я бы хотел, чтобы в сообщениях галереи vm также была запущена галерея. Вместо этого wordpress генерирует URL-адреса в форме mysite.com/vmgallery/post-slug , поэтому используется «старый» пользовательский тип сообщения ( vmgallery ) в URL вместо нового ( gallery или mysite.com/gallery/post-slug ). Как это исправить?

 $labels = array( 'name' => __('VmGallery', THEME_TEXT_DOMAIN, THEME_TEXT_DOMAIN), 'singular_name' => __('VmGallery', THEME_TEXT_DOMAIN), 'add_new' => __('Add New', THEME_TEXT_DOMAIN), 'add_new_item' => __('Add New Gallery', THEME_TEXT_DOMAIN), 'edit_item' => __('Edit Gallery', THEME_TEXT_DOMAIN), 'new_item' => __('New Gallery', THEME_TEXT_DOMAIN), 'all_items' => __('All Galleries', THEME_TEXT_DOMAIN), 'view_item' => __('View Gallery', THEME_TEXT_DOMAIN), 'search_items' => __('Search Gallery', THEME_TEXT_DOMAIN), 'not_found' => __('No galleries found', THEME_TEXT_DOMAIN), 'not_found_in_trash' => __('No galleries found in the Trash', THEME_TEXT_DOMAIN), 'parent_item_colon' => '', 'menu_name' => __('Gallery', THEME_TEXT_DOMAIN), ); $supports = array('title', 'editor', 'thumbnail', 'excerpt', 'comments', 'custom-fields', 'post-formats', 'author', 'excerpt'); $args = array( 'labels' => $labels, 'description' => 'Galleries specific information', 'public' => true, 'menu_position' => 6, 'menu_icon' => 'dashicons-format-image', 'supports' => $supports, 'taxonomies' => array('gallery_categories', 'post_tag'), 'has_archive' => 'gallery' ); register_post_type('vmgallery', $args); 

Solutions Collecting From Web of "Изменить Slug в URL-адресах сообщений типа персонализированного сообщения"

Вы явно не устанавливаете пул, поэтому он использует ключ типа post, с которым вы его зарегистрировали. Чтобы установить его в галерею, задайте slug параметра rewrite :

 $args = array( 'rewrite' => array( 'slug' => 'gallery' ), // the rest of your args... ); register_post_type( 'vmgallery', $args ); 

Полный список параметров см. На странице Codex для register_post_type .