0

そのページのURLから変数に基づいてWordpressでリンクを構築する必要があります。PHPではこれは簡単かもしれませんが、WPではこれは難しいようです(WPではセキュリティ上の理由から許可されていないことを理解しました)。そこで、Wordpressのインストール(functions.php)にこのリンクに従ってフィルターを追加し、その変数を取得して、リンクの構築でWP投稿ページでプログラム的に使用しました。ただし、リンクは2つのスペースで形成されます(関連する関数を呼び出す前と後の1つ)。

したがって、リンクの背後にあるコードは次のとおりです。

<?php echo ("<a href='www.mydomain.com/purchases/?refid="); ?> <?php echorefid(); ?> <?php echo ("'>download this amazing file</a>") ?>

www.mydomain.com/?refid=3267のWebページにアクセスしようとしたときの出力コード(HTML)は次のとおりです。

<a href='www.mydomain.com/purchases/?refid= 3267 '>download this amazing file</a>

3267文字列の前のスペースとこの文字列の後のスペースに注意してください。明らかに、リンクは壊れています。

関数echorefid()は、functions.phpに追加した次のコードに表示されます。

add_filter('query_vars', 'parameter_queryvars' );

function parameter_queryvars( $qvars ) 
{ 
$qvars[] = 'refid'; 
return $qvars; 
} 

function echorefid() 
{ 
global $wp_query; 
if (isset($wp_query->query_vars['refid'])) 
{ 
print $wp_query->query_vars['refid']; 
} 
}    

どんな助けでも大歓迎です。

4

3 に答える 3

2

これは、コードにスペースがあるためです。変化する:

<?php echo ("<a href="www.mydomain.com/purchases/?refid="); ?> <?php echorefid(); ?> <?php echo (">download this amazing file</a>") ?>
//                                                            ^                     ^
// No needs for spaces here! ---------------------------------+---------------------+

に:

<?php echo ("<a href="www.mydomain.com/purchases/?refid="); ?><?php echorefid(); ?><?php echo (">download this amazing file</a>") ?>
于 2012-06-20T13:26:55.790 に答える
1

スペースの原因は、スペースで複数を分離しているという事実です<?php ?> <?php ?><?php ?>タグの外側のスペースは、ブラウザへの出力として送信されます。

すべてのPHPコードに必要なのはそのうちの1つだけです。3つのグループを連結してそれらを結合し、外側の引用符を一重引用符に切り替えるか、内側の引用符をエスケープします。

<?php echo '<a href="www.mydomain.com/purchases/?refid=' . echorefid() . '">download this amazing file</a>'; ?>
于 2012-06-20T13:26:49.940 に答える
0
<?php echo ("<a href="www.mydomain.com/purchases/?refid="); php echorefid(); echo (">download this amazing file</a>") ?>

PHPタグ間のスペースは、完成したHTMLに表示されていました。

于 2012-06-20T13:26:41.673 に答える