Как я могу отменить одно сообщение и сделать его отображением для другого сообщения?

У меня две страницы на моем сайте WordPress:

mysite.com/?p=100 mysite.com/?p=200 

Я думаю, что я мог бы где-нибудь подключиться к действиям WordPress и повторно запросить сообщение, чтобы контент для mysite.com/?p=200 отображался на странице mysite.com/?p=100

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

 add_action( 'pre_get_posts', 'wpse35832_pre_get_posts' ); function wpse35832_pre_get_posts( $query ){ $pid = ''; if( ! empty( $query->query_vars['page_id'] ) ) { $pid = $query->query_vars['page_id']; } elseif( ! empty( $query->queried_object->ID )) { $pid = $query->queried_object->ID; } if($pid == '100'){ $query->query_vars['page_id'] = 200; } return $query; } 

И на самом деле эта функция работает, но с одной оговоркой: если я использую довольно постоянные ссылки ( mysite.com/name-of-page/ ), заголовок страницы для исходного сообщения. Однако, если permalinks находятся в стиле переменной запроса, все, кажется, работает нормально.

Что я делаю неправильно, и как я могу это исправить? Я попробовал unset($query->queried_object чтобы его нужно было повторно запросить, и это приводит к перенаправлению на исходную страницу.

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

Я понимаю, что могу создать собственный шаблон страницы, например post-200.php и внутри, используя функцию query_posts и отображающий контент. Это не то, что я пытаюсь сделать, хотя.

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

Solutions Collecting From Web of "Как я могу отменить одно сообщение и сделать его отображением для другого сообщения?"