Utilizzare i parametri query string nell'URL per visualizzare contenuti nella pagina
Vorrei mostrare qualcosa nella mia pagina in base alla pagina da cui proviene l'utente. Posso impostare il link a quella pagina come:
www.example.com/page?parameter=myparameter
C'è un modo per accedere a quel parametro in modo da poterlo mostrare nella pagina, da qualche parte nel mio contenuto?

In base alla risposta dell'OP all'interno della sua domanda:
Con il tuo aiuto e un po' di ricerche su Google, ho messo insieme uno shortcode che restituisce il valore di qualsiasi parametro dell'URL. Eccolo:
//QUESTO È UNO SHORTCODE PERSONALIZZATO PER VISUALIZZARE UN PARAMETRO DALL'URL
function URLParam( $atts ) {
extract( shortcode_atts( array(
'param' => 'param',
), $atts ) );
return $_GET[$param];
}
add_shortcode('URLParam', 'URLParam');
Utilizzo lo shortcode in questo modo per ottenere il trip_type
dal mio URL:
[URLParam param='trip_type']

Potresti utilizzare una sessione PHP, cercare la richiesta nell'oggetto query oppure usare $_GET con il tuo URL, ma non è adatto per informazioni sensibili...
Qualcosa come questo:
Prendi il nome del viaggio dall'URL
$tripname = $_GET['tripname'];
Usalo nel tuo titolo:
if(isset($tripname)) echo '<h1>Pianifica il Tuo Viaggio a ' .$tripname. '</h1>';

Grazie! Queste non sono informazioni sensibili. Come potrei procedere per farlo?

Questo potrebbe aiutarti: http://www.w3schools.com/php/php_get.asp

Grazie! Posso inserirlo direttamente nella pagina, o deve essere inserito in un file template?

Dipende da dove ti serve - se viene visualizzato solo su una pagina che utilizza un singolo template, lo inseriresti lì. Da dove provengono le informazioni e dove andranno a finire?

La situazione è questa: ho molte 'pagine viaggio', ognuna delle quali contiene informazioni su un determinato viaggio che organizziamo. Poi, cliccando su "registrati", vengono indirizzati a una pagina con un modulo di registrazione (gravity forms). Vorrei che la pagina (o in alternativa la descrizione in cima al modulo) dicesse "Compila questo modulo per registrarti al viaggio xxxx".

Quindi ho aggiunto all'URL del pulsante di registrazione su ogni pagina viaggio, www.website.com/registration?trip=tripname.

Vorrei anche utilizzare la stessa funzionalità su un'altra pagina del modulo, dove richiedono che inviamo loro un itinerario. La tua soluzione funzionerebbe? Forse uno shortcode sarebbe una migliore idea??

Creare un shortcode richiederà più lavoro e tempo rispetto a questo, quindi dipende da cosa vuoi fare complessivamente. Il codice che ho menzionato andrebbe nella pagina dove si trova il modulo. Se sono su un template specifico, come page.php, andrebbe lì.

Sono entrambi sullo stesso template, ma voglio che ci sia testo diverso intorno. Si può fare senza un shortcode?

Oppure, sai dove posso trovare qualcosa tipo "creare shortcode per principianti" o qualcosa del genere?

Ti consiglio di dedicare un po' di tempo al WP Codex e di leggere riguardo agli shortcode. Ci sono alcune risorse interessanti online. Potresti alternare tra due porzioni di testo nello stesso template, ma l'istruzione condizionale sarebbe un'altra questione.

Darò un'occhiata. Cosa intendi con "Potresti alternare tra due porzioni di testo nello stesso template"?

Ecco un altro ottimo modo per ottenere questo risultato. Questo metodo non richiede shortcode e aggiornerà automaticamente ogni pagina creata dove è presente il parametro "trip"!
1) Naviga nella cartella del tuo tema e apri functions.php (o crealo se non esiste)
2) Aggiungi il seguente codice e salva:
<?php
add_filter( 'the_content', 'my_trip_filter' );
function my_trip_filter( $content ) {
if ( isset($_REQUEST['trip']) && is_single() ) {
$content = "<h1>Compila questo modulo per registrarti al viaggio " . $_REQUEST['trip'] . "</h1>" . $content;
}
return $content;
}
?>
Questo codice utilizza il filtro the_content per sovrascrivere ogni volta che usi la funzione the_content() per stampare le informazioni del tuo blog. Rileva se la pagina richiesta è una singola pagina/articolo e non l'archivio. È possibile aggiungere ulteriore logica o sovrascritture. Assicurati solo di restituire $content e qualunque messaggio desideri verrà visualizzato sullo schermo.
Buon lavoro!
