Домой WordPress WordPress: Вопросы и ответы Вопрос по урл в произвольной таксономии
8 ответ(ов) в теме
Александр
не в сети 2 часа
На сайте с 16.01.2019
Участник
Тем 28
Сообщения 83
1
08:20

Задача: сделать раздел Новостей со своей таксономией (аналог рубрик), чтобы:
урл раздела был: /news/
урл таксономии был: /news/nazvanie-taxonomii/
урл самой новости был: /news/nazvanie-novosti/

У меня есть вот такой код:

//НОВОСТИ
add_action( 'init', 'register_news_post_type' );
function register_news_post_type() {
	// рубрика новости - rubrika
	register_taxonomy('rubrika', array('news'), array(
		'label'                 => 'Рубрики новости', // определяется параметром $labels->name
		'labels'                => array(
			'name'              => 'Рубрики новостей',
			'singular_name'     => 'Рубрика новости',
			'search_items'      => 'Искать рубрику новости',
			'all_items'         => 'Все рубрики новостей',
			'parent_item'       => 'Родит. рубрика новости',
			'parent_item_colon' => 'Родит. рубрика новости:',
			'edit_item'         => 'Ред. рубрику новости',
			'update_item'       => 'Обновить рубрику новости',
			'add_new_item'      => 'Добавить рубрику новости',
			'new_item_name'     => 'Новая рубрика новости',
			'menu_name'         => 'Рубрики новостей',
		),
		'description'           => 'Рубрики для Новостей', // описание таксономии
		'public'                => true,
		'show_in_nav_menus'     => false, // равен аргументу public
		'show_ui'               => true, // равен аргументу public
        	'query_var'     => true,
		'show_tagcloud'         => false, // равен аргументу show_ui
		'hierarchical'          => true,
	'rewrite'               => true,
		'show_admin_column'     => true, // Позволить или нет авто-создание колонки таксономии в таблице ассоциированного типа записи. (с версии 3.5)
	) );

	// тип записи - Новости - news
	register_post_type('news', array(
		'label'               => 'Новости',
		'labels'              => array(
			'name'          => 'Новости',
			'singular_name' => 'Новость',
			'menu_name'     => 'Новости',
			'all_items'     => 'Все новости',
			'add_new'       => 'Добавить новость',
			'add_new_item'  => 'Добавить новость',
			'edit'          => 'Редактировать',
			'edit_item'     => 'Редактировать новость',
			'new_item'      => 'Новая новость',
		),
		'description'         => '',
        'menu_icon'           => 'dashicons-video-alt',
		'public'              => true,
		'publicly_queryable'  => true,
		'show_ui'             => true,
		'show_in_rest'        => false,
		'rest_base'           => '',
		'show_in_menu'        => true,
		'exclude_from_search' => false,
		'capability_type'     => 'post',
		'map_meta_cap'        => true,
		'hierarchical'        => false,
		'has_archive'         => 'news',
		'query_var'           => true,
		'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
		'taxonomies'          => array( 'rubrika' ),
        
	) );

}

Все работает, но у таксономий урл вот такой: /rubrika/nazvanie-taxonomii/

Реально ли сделать так, чтобы урл таксономий был /news/nazvanie-taxonomii/ ?

Редакции сообщения
10.09.2020 08:21АлександрПричина: не указано
10.09.2020 08:22АлександрПричина: не указано
10.09.2020 08:27АлександрПричина: не указано
0
Андрей CS
не в сети 48 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 15114
2
08:30

Добрый день, так вы же сами задали таксономию как 'rubrika' тут

Александр сказал(а)
'taxonomies' => array( 'rubrika' ),

и тут

Александр сказал(а)
register_taxonomy('rubrika', array('news'), array(

меняйте на нужное значение

1
Александр
не в сети 2 часа
На сайте с 16.01.2019
Участник
Тем 28
Сообщения 83
3
07:45

Если меняю на

'taxonomies' => array( 'news' ),

и на
register_taxonomy('news', array('news'), array(

То при переходе в таксономию, урл какой надо (/news/nazvanie-rubriki/), но 404 ошибка. Я так понял, что нельзя вписать идентичное название таксономии и типа поста (news).

0
Андрей CS
не в сети 48 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 15114
4
11:03

никогда не пробовал указывать одинаковые названия, возможно, что так делать нельзя

1
Владимир (Otshelnik-Fm)
На сайте с 27.01.2013
Модератор
Тем 39
Сообщения 18022
5
11:32

world-news используйте
world-news/news/ - и никаких проблем 🧙

1
Александр
не в сети 2 часа
На сайте с 16.01.2019
Участник
Тем 28
Сообщения 83
6
18:07

Владимир (Otshelnik-Fm) сказал(а)
world-news используйте
world-news/news/ - и никаких проблем 🧙

Идея неплохая, кстати. Может так примерно и сделаю)

0
Preci
не в сети 28 минут
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1139
7
18:26

Так а в чем проблема сделать у таксономии slug news, а посту slug post-news?

И через

Вы не можете просматривать опубликованные ссылки

настроить нужный url

1
Александр
не в сети 2 часа
На сайте с 16.01.2019
Участник
Тем 28
Сообщения 83
8
05:37

Preci сказал(а)
Так а в чем проблема сделать у таксономии slug news, а посту slug post-news?

И через

Вы не можете просматривать опубликованные ссылки

настроить нужный url

Проблема с моим уровнем программирования 🙂 Я перепробовал (методом тыка) все вариации с rewrite, но так ничего и не вышло. Если это не проблема для вас, то готов оплатить решение (немного позже напишу вам в личку по этому вопросу).

Редакции сообщения
12.09.2020 05:38АлександрПричина: не указано
0
Вы не имеете права на публикацию сообщений в этой теме