0

シナリオは次のとおりです。

私のサイトへの訪問者が、制限されたコンテンツにアクセスします。メンバーシップ オプション/サインアップ ページへのリンクを提供します。サインアップが完了したら、ユーザーを表示中のページにリダイレクトしたいと考えています。

私が使用しているメンバーシップ ソフトウェア (s2member) は、success=(url) オプションを提供するので、実際には、ユーザーが表示していたページのパーマリンクをサインアップ ページに送信するだけで済みます。

制限されたコンテンツはテンプレート ファイルを使用し、そこにサインアップ リンクを含めます (現在メンバーシップの要件を満たしていない場合)。wpfunction: add_query_arg を使用しようとしています。

ので、私は持っています:

<a href="<?php echo add_query_arg( '$prev_page', get_permalink(), get_permalink( 67847 ) ); ?>">Sign Up</a>

そして、これがリンクしているページで、私は見ます

http:///www.mysite.com/member-sign-up/?$prev_page=http://the-correct-permalink-pf-previous-page/

問題は、会員ページで、

var_dump( $prev_page ); 

それは返す

null

これは、リンクを使用して変数を送信するための正しい方法ですか?

4

1 に答える 1

1

変数は、一重引用符内では補間されません。一重引用符の文字列は、ほぼ完全にそのまま表示されます 実際の変数値を使用する場合は、二重引用符に変更します。

<a href="<?php echo add_query_arg( "$prev_page", get_permalink(), 
get_permalink( 67847 ) ); ?>">Sign Up</a>

これで、メンバーシップ ページで次のようにクエリ パラメータにアクセスできます。

$var = $_GET['foo']; // where 'foo' == $prev_page
echo $var;

ただし、実際にリテラル文字列をクエリ パラメーターとして使用しようとしている場合は$prev_page、メンバーシップ ページで次の操作を行うだけです。

$_GET['$prev_page']; // note the single-quotes
于 2013-10-09T14:32:54.420 に答える