我正在调整Wordpress主题,我正在尝试清除焦点上的搜索字段,但是当我添加以下代码时,我会看到死亡的白屏。实际的javascript函数似乎正在杀死它,因为如果我使用空的onfocus =“”命令运行这个PHP脚本,一切都很好。
add_filter('wp_nav_menu_items','add_search_box', 10, 2);
function add_search_box($items, $args) {
if( $args->theme_location == 'primary' ) {
$items .= '<li id="omc-header-search">
<span id="omc-search-overlay">'. __('Search', 'gonzo') .' →</span>
<form method="get" id="desktop-search" class="omc-search-form" action="'.get_bloginfo('url').'/">
<input type="text" class="omc-header-search-input-box" value="Search" onfocus="if(this.value == 'Default text') { this.value = ''; }" name="s" id="fffff">
<input type="submit" class="omc-header-search-button" id="searchsubmit" value="">
</form>
</li>';
return $items;
}
我不知道为什么会导致整个事情崩溃。
答案 0 :(得分:0)
尝试转义onfocus
:
onfocus="if(this.value == \'Default text\') { this.value = \'\'; }"
当php回显时,反斜杠将消失,脚本将显示为您想要的内容。
答案 1 :(得分:0)
白页通常表示PHP致命错误或语法错误 在这种情况下,有几个不同的错误:
{
声明中的if()
'
,未正确转义。你在字段中的默认文本应该是不一致的。
"Search"
value="Search"
"Default text"
时才会清除它。 如果您修复了PHP语法错误,并将Default text
更新为Search
,那么它应该可以正常工作。
像这样:
add_filter('wp_nav_menu_items','add_search_box', 10, 2);
function add_search_box($items, $args) {
if( $args->theme_location == 'primary' ) {
$items .= '<li id="omc-header-search">
<span id="omc-search-overlay">'. __('Search', 'gonzo') .' →</span>
<form method="get" id="desktop-search" class="omc-search-form" action="'.get_bloginfo('url').'/">
<input type="text" class="omc-header-search-input-box" value="Search" onfocus="if(this.value == \'Search\') { this.value = \'\'; }" name="s" id="fffff">
<input type="submit" class="omc-header-search-button" id="searchsubmit" value="">
</form>
</li>';
}
return $items;
}