Редирект URL страницы на главную URL без использования плагина
Как мне перенаправить URL страницы http://localhost/wordpress_rnd/?page_id=2
на главный URL http://localhost/wordpress_rnd/
без использования каких-либо плагинов?

Правильный способ сделать это — использовать хук template_redirect
, добавив функцию в ваш functions.php
:
function redirect_to_home() {
if(!is_admin() && is_page('2')) {
wp_redirect(home_url());
exit();
}
}
add_action('template_redirect', 'redirect_to_home');

можешь сказать, почему мы должны использовать exit после wp_redirect(home_url()); ?

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

Найдите файл page.php (предполагая, что вы уже создали его). После строки <?php get_header(); ?>
добавьте следующий код:
<?php if(is_page('2')) {
wp_redirect( home_url(), '302' );
} ?>
В приведённом выше коде is_page('2')
— это ID вашей страницы, как вы указали в примере.

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

@cybmeta действительно справедливое замечание :) Спасибо, что обратили на это внимание.

Еще одно замечание. Используйте ваш код в хуке действия, например init
, как предложил @paul в своем ответе, а не в файле шаблона, как вы предлагали. Если вы переключитесь на другую тему, вы потеряете функциональность, поэтому функциональность и внешний вид (тема и файл шаблона) должны быть разделены. Я бы отредактировал ответ, чтобы добавить хук действия.

Это тоже верно. Бывают моменты, когда не думаешь об оптимизации кода, а сосредоточен на том, чтобы быстрее выполнить текущую задачу :) По моему мнению, это был как раз один из таких случаев.
Тем не менее, я очень ценю ваш вклад — он действительно полезен. Каждый день я узнаю здесь что-то новое :)

Написание кода в хуке действия выполняется так же быстро, как и в файле шаблона.

WP_REDIRECT — это функция, которую следует использовать для перенаправления в WordPress. Её можно применять следующим образом:
wp_redirect( $location, $status );
exit;
// $location — обязательный параметр. Указывает целевой URL, на который будет перенаправлена страница.
// $status — опциональный параметр. Используется для установки кода состояния. По умолчанию: 302
Эту функцию можно использовать для перенаправления пользователей с одной страницы на другую. Её следует разместить либо в файле functions.php, либо в шаблоне, который используется для отображения текущей страницы. Для вашего случая просто добавьте следующий код в конец файла functions.php:
$redirectFromPageID = 2; // Перенаправление со страницы с ID = 2
$redirectTo = home_url(); // Перенаправление на главную страницу
if( is_page( $redirectFromPageID ) ){
wp_redirect( $redirectTo );
exit;
}
