web-dev-qa-db-fra.com

utiliser une chaîne de requête dans l'URL pour afficher le contenu de la page

Je voudrais dire quelque chose sur ma page en fonction de la page de la personne qui y est arrivée. Je peux configurer le lien vers cette page pour être:

www.example.com/page?parameter=myparameter

Existe-t-il un moyen d'accéder à ce paramètre afin de l'afficher sur la page, quelque part dans mon contenu?

8
user3515

Vous pouvez utiliser une session PHP, chercher dans la requête l'objet de requête ou utiliser $ _GET avec votre URL, mais pas pour des informations confidentielles ...

Quelque chose comme ça;

Prenez le nom du voyage à partir de l'URL

$tripname = $_GET['tripname'];

Utilisez-le dans votre rubrique.

if(isset($tripname)) echo '<h1>Plan Your Trip To ' .$tripname. '</h1>';

4
Dan

Selon la réponse du PO dans sa question:

Avec votre aide et un peu de Google, j'ai mis en place un shortcode qui renvoie la valeur de tout paramètre d'URL. C'est ici:

//THIS IS A CUSTOM SHORTCODE TO DISPLAY A PARAMETER FROM THE URL
function URLParam( $atts ) {  
    extract( shortcode_atts( array(
        'param' => 'param',
    ), $atts ) );
    return $_GET[$param];  
}
add_shortcode('URLParam', 'URLParam'); 

J'utilise le shortcode comme ceci pour obtenir le trip_type à partir de mon URL:

[URLParam param='trip_type']

Voici un autre excellent moyen d'accomplir cela. Cela ne nécessitera pas de code court et mettra automatiquement à jour chaque page que vous créez où le paramètre "trip" est présent!

1) Accédez au dossier de votre thème et ouvrez functions.php (ou créez-le s'il manque)

2) Ajoutez le code suivant et enregistrez:

<?php 
    add_filter( 'the_content', 'my_trip_filter' );

    function my_trip_filter( $content ) {
        if ( isset($_REQUEST['trip']) && is_single() ) {
            $content = "<h1>Fill out this form to register for the " . $_REQUEST['trip'] . " trip</h1>" . $content;
        }

        return $content;

    }
?>

Ce code utilise le contenu filtre pour remplacer chaque fois que vous utilisez la fonction le contenu() fonction pour imprimer les informations de votre blog. Il détecte si la page demandée est une page/publication unique et non l'archive. Une logique supplémentaire ou des substitutions peuvent y être ajoutées. Assurez-vous de revenir $ contenu et quel que soit le message que vous désirez, il sera renvoyé à l'écran.

Prendre plaisir!

1
WordPress Plugineer