@easycode
не боюсь задавать глупые вопросы ))

Как в page_rewrite_rules WordPress'а указать правильный pagename для дочерней страницы?

Задача: чтобы вложенная страница доступная по адресу: https://mysite.ru/catalog/phones/iphone7/ была также доступа по адресу субдомена: https://iphone7.mysite.ru

Вот такой код отлично работает когда страница не дочерняя (не имеет родительской), т.е когда имеет адрес: https://mysite.ru/iphone7

add_filter( 'page_rewrite_rules', function($rules) {

	$url = getenv( 'HTTP_HOST' );
	$pieces = explode( ".", $url );
	$subdomain = array_shift( $pieces ); 

	if ($subdomain == 'iphone7') {

		$newrules = array (
			'trackback/?$' => 'index.php?pagename=iphone7&tb=1',
			'feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?pagename=iphone7&feed=$matches[1]',
			'(feed|rdf|rss|rss2|atom)/?$' => 'index.php?pagename=iphone7&feed=$matches[1]',
			'page/?([0-9]{1,})/?$' => 'index.php?pagename=iphone7&paged=$matches[1]',
			'comment-page-([0-9]{1,})/?$' => 'index.php?pagename=iphone7&cpage=$matches[1]',
			'wc-api(/(.*))?/?$' => 'index.php?pagename=iphone7&wc-api=$matches[2]',
			'$' => 'index.php?pagename=iphone7',
			'([^/]+)/?$' => 'index.php?pagename=iphone7/$matches[1]',
		);

		$rules = $newrules + $rules;
	}

	return $rules;
});


но вот что делать если нужно открывать по адресу: https://iphone7.mysite.ru именно дочернюю страницу: https://mysite.ru/catalog/phones/iphone7/? что должно быть в качестве pagename?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы