2015-08-30 75 views
3

正如我想出來的,這給我在登陸頁面上的問題($ tab的變量堆棧爲['amp; tab']而不是['tab']):這是正確的方法和或&在WordPress的網址

wp_redirect("admin.php?page=booking-manager&tab=customers"); 

如果我不與調試它:

$tab = isset($_GET['tab']) ? $_GET['tab'] : ""; 
echo nl2br(print_r($_REQUEST, TRUE)); 
die("TAB:$tab"); 

我得到:

Array 
(
[page] => booking-manager 
[amp;tab] => customers 
) 
TAB: 

所以我不得不與使用出ampersanding做出是否工作:

wp_redirect("admin.php?page=booking-manager&tab=customers"); 

雖然的onClick和FORM action屬性,& ampersanding工作:

的onClick:

onClick="window.location.href='<?php print(admin_url('admin.php?page=add-discount&amp;discount_type=1&amp;discount_id=0')); ?>'" 

表單操作:

<form action="<?php echo admin_url('admin.php?page=add-customer&noheader=true'); ?>" method="post" id="form1"> 

我知道對於文本內容,我應該使用&在HTML中取代:

<p>Tom &amp; Jerry</p> 

使其成爲W3C有效。 但是我迷失在關於WordPress網站的知識中。另外,從其他的CMS,比如Php-Fusion,我知道他們強制使用到處都是&,如果需要的話,他們會將它解析回&。

最後一個問題 - 如何給Google & VS &amp; - 谷歌不給我造成的一切,我不得不使用「&符號」,但仍 - 如何谷歌有關谷歌會理解的任何代碼。

謝謝你。

回答

2

&字符在URL字符串中用作key=value對之間的分隔符,因此如您所見,轉義它將危害您的應用程序。如果您有值,則應使用http編碼(例如,使用urlencode)而不是html編碼對其進行編碼。

因此,例如,如果要將參數name與值'Tom & Jerry',urlencode一起生成字符串'Tom+%26+Jerry'

+0

所以,我應該只用&在所有三個地方的鏈接,對不對?我的意思是在wp_redirect,onClick JavaScript目標和 KestutisIT