ユーザーがどのページからアクセスしたかに基づいて、自分のページで何か言いたいことがあります。そのページへのリンクを次のように設定できます。
www.example.com/page?parameter=myparameter
このパラメーターにアクセスして、ページのコンテンツのどこかに表示できるようにする方法はありますか?
ユーザーがどのページからアクセスしたかに基づいて、自分のページで何か言いたいことがあります。そのページへのリンクを次のように設定できます。
www.example.com/page?parameter=myparameter
このパラメーターにアクセスして、ページのコンテンツのどこかに表示できるようにする方法はありますか?
回答:
PHPセッションを使用したり、リクエストのクエリオブジェクトを調べたり、URLで$ _GETを使用したりできますが、機密情報には使用できません...
このようなもの;
URLから旅行名を取得する
$tripname = $_GET['tripname'];
見出しに使用してください。
if(isset($tripname)) echo '<h1>Plan Your Trip To ' .$tripname. '</h1>';
質問内の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');
このようなショートコードを使用してtrip_type
、URLからを取得します。
[URLParam param='trip_type']
これを達成するための別の素晴らしい方法を次に示します。これはショートコードを必要とせず、パラメーター「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;
}
?>
このコードは、the_contentフィルターを使用して、関数the_content()関数を使用してブログ情報を印刷するたびにオーバーライドします。リクエストされたページが単一のページ/投稿であり、アーカイブではないかどうかを検出します。追加のロジックまたはオーバーライドをそれに追加できます。$ contentを返すことを確認してください。そうすれば、必要なメッセージが画面に返されます。
楽しい!