我意外地發現,每當搜索結束時出現反斜線,點擊提交後的頁面將返回一個破損的搜索表單。搜索詞末尾的反斜槓打破自定義搜索表單
在我的情況下,提交按鈕變成了文本區域。
使用谷歌Chrome瀏覽器的「檢查元素」,我看到我的搜索形式變成了這樣:
<form method="get" action="">
<input type="hidden" name="type" value="books">
<input type="text" name="search" value="\"> <input type=">
</form>
</div></div></div><div id=" sidebar"="" class="sidebar widget-area"></form>
下面的代碼是我的形式。我猜我需要清理/轉義輸入類型文本的值?但爲什麼不是esc_attr()
工作?
<form action="" method="get">
<input type="text" name="search" value="<?php echo esc_attr(stripslashes($_GET['search'])); ?>">
<input type="submit" value="Search">
<input type="checkbox" name="title">
</form>
P.S.我正在使用此自定義搜索表單來搜索自定義字段,並使用Pods插件顯示生成的自定義帖子類型。雖然這看起來並不是Pods插件問題。
https://github.com/pods-framework/pods/issues/1620
而且,這並不似乎是來自另一個主題或插件衝突。
當數據發送到您的處理腳本時,您需要轉義您的數據。當您點擊「搜索」時,向我們展示獲取調用的腳本(在服務器端)。 – user1477388
我使用搜索表單和pod插件一起使用。數據由它處理,他們堅持認爲它已被轉義。他們說這可能是一個WordPress的錯誤。請參閱我的操作文章底部的鏈接。 –
只有知道的方法才能打開腳本並親自查看。 – user1477388