Template and url — для галереи

походу ответ вот https://wp-kama.ru/function/add_rewrite_rule

для постов используется стандартный шорткод {gallery ids="442543,442545,442547"}
Для страниц вложений есть свой файл image.php с url шаблоном
{{сайт}}/{{post}}/{{image-title}}/

Вопрос
как создать к примеру template-gallery.php с url шаблоном
{{сайт}}/{{post}}/{{gallery-1}}/ - цифра это пагинация галереи
{{сайт}}/{{post}}/{{gallery-2}}/
либо
{{сайт}}/{{post}}/{{gallery-id-1}}/ - цифра это пагинация галереи
{{сайт}}/{{post}}/{{gallery-id-2}}/

1 хочу чтоб в шаблоне лежало по 10-15 картинок - с этим проблем нет, легко через цикл и текущее изображение в цикле выводится

2 как шаблоны создавать я знаю, а как url подключить ?? через GET с урл не очень хочется извлекать в шалон нужную галерею

3 никогда с постоянными ссылками не работал и даже не предполагаю как проходит реализация, может кто-то подскажет

вообще есть крутецкий плагин "Permalinks Customizer" - там без всяких заморочек можно создавать шаблоны URL - но к сожалению для галереи шаблонов нет

Заметки к вопросу:
kolshix 2.4 года назад

нашел некую статью - но там описан процесс изменения url для типа постов, а меня интересует отдельный шаблон для вывода галереи из поста по кнопке-ссылке
запишу чтоб не потерять, а может что-то и пригодится
https://shibashake.com/wordpress-theme/wordpress-permalink-add

kolshix 2.4 года назад

пока что нашел такой вариант с подгрузкой шаблона опираясь на переменные в URL - код нужно под себя подогнать, но это не проблема

// source: https://wordpress.stackexchange.com/questions/182708/use-a-template-file-for-a-specific-url-without-creating-a-page
add_action('init', function() {
  $url_path = trim(parse_url(add_query_arg(array()), PHP_URL_PATH), '/');
  if ( $url_path === 'retail' ) {
	 // load the file if exists
	 $load = locate_template('template-retail.php', true);
	 if ($load) {
		exit(); // just exit if template was found and loaded
	 }
  }
});
kolshix 2.4 года назад

походу нашел - регуляркой можно проверять URL - а там уже нужный шаблон подключать - пагинацию все таки из урл буду брать

// source https://code.tutsplus.com/articles/custom-page-template-page-based-on-url-rewrite--wp-30564

// 1
function prefix_movie_rewrite_rule() {
	add_rewrite_rule( 'movie/([^/]+)/photos', 'index.php?movie=$matches[1]&photos=yes', 'top' );
	add_rewrite_rule( 'movie/([^/]+)/videos', 'index.php?movie=$matches[1]&videos=yes', 'top' );
}

add_action( 'init', 'prefix_movie_rewrite_rule' );

// 2
function prefix_register_query_var( $vars ) {
	$vars[] = 'photos';
	$vars[] = 'videos';

	return $vars;
}

add_filter( 'query_vars', 'prefix_register_query_var' );

// 3
function prefix_url_rewrite_templates() {

	if ( get_query_var( 'photos' ) && is_singular( 'movie' ) ) {
		add_filter( 'template_include', function() {
			return get_template_directory() . '/single-movie-image.php';
		});
	}

	if ( get_query_var( 'videos' ) && is_singular( 'movie' ) ) {
		add_filter( 'template_include', function() {
			return get_template_directory() . '/single-movie-video.php';
		});
	}
}

add_action( 'template_redirect', 'prefix_url_rewrite_templates' );