web-dev-qa-db-ja.com

uRLにクエリ文字列を使用してページにコンテンツを表示する

私は自分のページに、その人がそこから来たページに基づいて何かを言いたいのです。そのページへのリンクを次のように設定できます。

www.example.com/page?parameter=myparameter

自分のコンテンツのどこかに表示させるために、このパラメータにアクセスする方法はありますか。

8
user3515

あなたはPHPセッションを使用するか、リクエストのためにクエリオブジェクトを探すか、あなたのURLに$ _GETを使用することができますが、それは機密情報のためではありません...

このようなもの;

URLから旅行名をつかむ

$tripname = $_GET['tripname'];

見出しにそれを使ってください。

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

4
Dan

彼らの質問の中のOPの答えごとに:

あなたの助けといくつかのグーグルで、私はあらゆるURLパラメータの値を返すショートコードをまとめました。ここにあります:

//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'); 

私のURLからtrip_typeを取得するには、このようなショートコードを使用します。

[URLParam param='trip_type']

これを達成するためのもう1つの優れた方法があります。これはショートコードを必要とせず、パラメータ "trip"があるところにあなたが作成する各ページを自動的に更新します!

1)テーマフォルダに移動して開きます functions.php (または見つからない場合は作成してください)

2)次のコードを追加して保存します。

<?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;

    }
?>

このコードは コンテンツ 関数を使用するたびに上書きするフィルタ コンテンツ() ブログ情報を印刷する機能要求されたページが単一のページ/投稿であり、アーカイブではないかどうかを検出します。追加のロジックまたはオーバーライドを追加できます。あなたが戻ってきたことを確認してください $ content そしてあなたが望むどんなメッセージでも画面に返されます。

楽しい!

1