需要使用自定义字段搜索进行小规模编码

时间:2012-06-25 作者:diana

WP Custom Fields Search 是一个很棒的插件,但我对使用主页返回结果的插件有一个问题。

当我单击提交按钮时,结果显示在主页上,而不是搜索。php页面!

在网上搜索时,我读到插件应该在搜索页面模板上输出搜索结果,如果是搜索的话。主页上缺少php。

我的主题有搜索功能。php,但插件未使用它:I need to force the plugin to output search results in the search results page.

查看了插件的代码,非常确定应该在“extra\\u search\\u fields.php”文件中更改一些代码,但我不确定在哪里以及如何强制将结果输出到搜索模板而不是主页上。大概第230行是破解代码的地方:

function renderWidget($params=array(),$p2 = array()){
    $title = $this->getTitle($params);
    $inputs = $this->getInputs($params);
    $hidden = "<input type=\'hidden\' name=\'search-class\' value=\'".$this->getPostIdentifier()."\'/><input type=\'hidden\' name=\'widget_number\' value=\'".$p2[\'number\']."\'/>";
    $formCssClass = \'custom_search widget custom_search_\'.$this->nameAsId();
    $formAction = get_option(\'home\');
    if(function_exists(\'locate_template\'))
        $formTemplate = locate_template(array(\'wp-custom-fields-search-form.php\'));
    if(!$formTemplate) $formTemplate = dirname(__FILE__).\'/templates/wp-custom-fields-search-form.php\';

    foreach($inputs as $k=>$v){
        if($v->isHidden()){
            $hidden.=$v->getInput(false);
            unset($inputs[$k]);
        }
    }
    include($formTemplate);
}

function isPosted(){
    return $_GET[\'search-class\'] == $this->getPostIdentifier();
}
function getPostIdentifier(){
    return get_class($this).\'-\'.$this->id;
}
function isHome($isHome){
    return $isHome && !$this->isPosted();
}
function rewriteHome($homeTemplate){
    if($this->isPosted()) return get_query_template(\'search\');
    return $homeTemplate;
}
谁能帮帮我吗?

1 个回复
SO网友:pcarvalho

Instead of $formAction = get_option(\'home\'); use $formAction = get_template_part( \'search\' );

结束