Reindirizzare l'URL della pagina all'URL principale senza utilizzare plugin
Come posso reindirizzare questo URL di pagina, http://localhost/wordpress_rnd/?page_id=2
, all'URL principale, http://localhost/wordpress_rnd/
, senza utilizzare alcun plugin?

Il modo corretto per farlo è utilizzare l'hook template_redirect
aggiungendo una funzione al tuo file functions.php
:
function redirect_to_home() {
if(!is_admin() && is_page('2')) {
wp_redirect(home_url());
exit();
}
}
add_action('template_redirect', 'redirect_to_home');

potresti dirmi perché dobbiamo usare exit dopo wp_redirect(home_url()); ?

Buona domanda e non posso dirlo con certezza, ma so che l'esempio nella documentazione ufficiale lo utilizza, quindi lo uso anch'io.

Individua il file page.php (supponendo che tu l'abbia già creato). Dopo questa riga <?php get_header(); ?>
aggiungi il seguente codice:
<?php if(is_page('2')) {
wp_redirect( home_url(), '302' );
} ?>
Nel codice sopra, is_page('2')
rappresenta in realtà l'ID della tua pagina come specificato nel tuo esempio.

Questo può funzionare, ma penso che sia meglio, a seconda della situazione specifica, fare il reindirizzamento a livello di server, ad esempio utilizzando .htaccess, in modo che nessuna riga di codice venga eseguita e non si sprechino risorse.

@cybmeta ottimo punto infatti :) Grazie per avermelo fatto notare.

Un'altra nota. Usa il tuo codice in un action hook, come init
suggerito da @paul nella sua risposta, non in un file template come hai suggerito. Se passi a un altro tema, perdi la funzionalità, ed è per questo che le funzionalità e l'aspetto (tema e file template) dovrebbero essere separati. Modificherei la risposta per aggiungere l'action hook.

Vero anche questo. Ci sono momenti in cui non si pensa all'ottimizzazione del codice, ma l'obiettivo è completare il compito a portata di mano più velocemente :) Questo era (secondo me) uno di quegli scenari.
Tuttavia, apprezzo molto il tuo contributo ed è davvero prezioso - ogni giorno imparo qualcosa di nuovo qui :)

Scrivere il tuo codice in un action hook è veloce tanto quanto scriverlo in un file template.

WP_REDIRECT è la funzione che devi utilizzare per i reindirizzamenti in WordPress. Può essere usata nel seguente modo:
wp_redirect( $location, $status );
exit;
//$location è un parametro obbligatorio. Serve a specificare l'URL di destinazione verso cui la pagina verrà reindirizzata.
//$status è opzionale. Viene utilizzato per impostare il codice di stato. Il valore predefinito è 302
Puoi utilizzare questa funzione per reindirizzare gli utenti da una pagina ad un'altra. Dovrebbe essere posizionata nel file functions.php o nel template file che viene utilizzato per visualizzare la pagina corrente. Per usarla nella tua situazione, inserisci semplicemente il seguente codice alla fine del tuo file functions.php
$redirectFromPageID = 2; //Reindirizza dalla Pagina con ID 2
$redirectTo = home_url(); //Reindirizza alla Homepage
if( is_page( $redirectFromPageID ) ){
wp_redirect( $redirectTo );
exit;
}
