我正在制作一个插件,当用户输入错误的URL时显示相关帖子。。。
样品是这样的
http://diskonblog.net/gandaria/hellow
我根本不想改变主题。但是,为了编写代码,我将主题改为显示is\\u search()shows 1。
我应该怎么做才能在执行主题时显示为\\u search(),而不是false
我试过了
function returnfalse( ){
    return false;
}
add_filter (\'is_search\',\'returnfalse\');
 但那没用。
插件中的代码如下:
class RandomPosts {
    function orderby($orderby) {
    if ( get_query_var(\'random\') == \'true\' )
    return "RAND()";
    else
    return $orderby;
    }
    function register_query_var($vars) {
        $vars[] = \'random\';
        return $vars;
    }
}
add_filter( \'posts_orderby\', array(\'RandomPosts\', \'orderby\') );
add_filter( \'query_vars\', array(\'RandomPosts\', \'register_query_var\') );
function query_random_posts($query) {
    return query_posts($query . \'&random=true\');
}
 为了检查错误,我简化了代码
function setUp404Template($toInclude = "default")
{
    header("HTTP/1.1 200 OK");
    //queryBasedOnPage ();
    query_posts(\'&random=true\');
    if ($toInclude=="default")
    {
        $toInclude= get_template_directory() . "/index.php"; //Can also require(TEMPLATEPATH . "/search.php"); if exist
    }
    require($toInclude); 
}
function redirect_404() {
    global $options, $wp_query;
    if ($wp_query->is_404) {
     setUp404Template();
       // $redirect_404_url = esc_url(get_permalink(get_page_by_title($page_title))); 
       // wp_redirect( $redirect_404_url );
        exit();
    }
}
 一切正常。
但是,如果我改变query_posts(\'&random=true\'); 到
query_posts(\'s=makan ikan&random=true\');
 is\\u search()标志已打开。
基本上,我希望能够返回实际相关的帖子,然后将is\\u search()设置为false。