我正在制作一个插件,当用户输入错误的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。