你试图使用的东西坏了。
add_filter( \'pre_get_posts\', \'modified_pre_get_posts\' );
function modified_pre_get_posts( WP_Query $query ) {
if ( $query->is_search() ) {
$query->set( \'post_type\', array( \'page-home\' ) );
}
return $query;
}
该函数定义无效。如果有,你会看到一个错误
debugging enabled. 您需要:
add_filter( \'pre_get_posts\', \'modified_pre_get_posts\' );
function modified_pre_get_posts( $query ) {
if ( $query->is_search() ) {
$query->set( \'post_type\', array( \'page-home\' ) );
}
return $query;
}
但那只会搜索
for post_type
= “主页”。我认为这也不对。我想这就是您希望排除主页的方式。事实上,你做了一些非常不同的事情。我想你想要:
add_filter( \'pre_get_posts\', \'modified_pre_get_posts\' );
function modified_pre_get_posts( $query ) {
if ( $query->is_search() ) {
$query->set( \'post__not_in\', array( id-of-home-page ) ); // should be a number; you have to replace that text with the actual ID
}
return $query;
}
使用默认的搜索小部件,在我被殴打和滥用的沙盒安装上,如果我尝试提交没有任何条款的内容,则不会运行搜索。博客索引页将加载。但是,如果要完全中断提交,则需要使用Javascript。