Intereting Posts
Комментарий «как» проблема – «пользователи, которым нравится этот» аватар, связанный с текущим профилем пользователя, а не с профилем «liker» Использование и сохранение настраиваемых раскрывающихся списков в профилях пользователей Шаблон предварительного просмотра страницы / страницы Есть ли простой способ получить список идентификаторов категорий? Скрипт очереди после инициализации TinyMCE Создание миниатюр для видео Страницы отображаются как ограниченные для администратора Статическое меню сайта с несколькими меню ul в wp Как запрашивать сообщения по мета-ключам И по определенной категории? Команда WP-CLI для обновления всех плагинов и ядра сбой при выполнении из cron Создайте нового пользователя из phpMyAdmin Сообщение thumbnail не работает после регенерации Импорт старого блога с регулярными сообщениями в новые настраиваемые типы сообщений Как создать функцию сообщества на панели управления для многопользовательского сайта Домашняя страница категории / таксономии

Пользовательский URL-адрес типа сообщения

У меня есть страница под названием «Новости», и я создал специальный тип сообщений для новостей. На странице «Новости» мне нужно показать все новости, а их нужно кликать. «Новостной» URL-адрес страницы http://example.com/media/lajmet . Когда я нажимаю на новости, он идет по URL-адресу « http://example.com/news/article1 ». Как переписать URL-адрес на пользовательский пост, нажмите « http://example.com/media/lajmet/article1 »? Также я использую polylang для языков.

Вот как я создаю пользовательский тип сообщения для новостей:

function news_custom_post() { $labels = array( 'name' => _x( 'News', 'post type general name' ), 'singular_name' => _x( 'News', 'post type singular name' ), 'add_new' => _x( 'Add new', 'news' ), 'add_new_item' => __( 'Add new news' ), 'edit_item' => __( 'Edit news' ), 'new_item' => __( 'New news' ), 'all_items' => __( 'All news' ), 'view_item' => __( 'View news' ), 'search_items' => __( 'Search news' ), 'not_found' => __( 'No news found' ), 'not_found_in_trash' => __( 'No news found in the Trash' ), 'parent_item_colon' => '', 'menu_name' => 'News' ); $args = array( 'labels' => $labels, 'description' => 'Holds our media news data', 'public' => true, 'menu_position' => 6, 'supports' => array( 'title', 'editor', 'page-attributes', 'thumbnail'), 'has_archive' => true ); register_post_type( 'news', $args ); } add_action( 'init', 'news_custom_post' ); 

Solutions Collecting From Web of "Пользовательский URL-адрес типа сообщения"

Вы можете установить rewrite slug при регистрации типа сообщения :

 $args = array( 'rewrite' => array( 'slug' => 'media/lajmet' ) // other args... ); 

Вы можете это сделать, но это не просто. Когда вы регистрируете пользовательский тип сообщения в WordPress, первым аргументом register_post_type является используемый вами slug. Этот слизень может быть только для одного сегмента URL. Если вы изменили его на media тогда все ваши статьи возьмут форму /media/article-slug-here .

Если вы хотите вложить его глубже, вам нужно будет зарегистрировать правило перезаписи для прослушивания дополнительного сегмента: https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

Ваш вызов add_rewrite_rule, скорее всего, примет формат, подобный этому:

 add_rewrite_rule('^media/lajmet/(.*+)/?', 'index.php?post_type=news&p=$matches[1]', 'top');