在PHP 8上禁用WordPress中的搜索[重复]

wh6knrhe  于 2023-01-16  发布在  WordPress
关注(0)|答案(1)|浏览(113)
    • 此问题在此处已有答案**:

PHP 7.2 Function create_function() is deprecated(6个答案)
4小时前关门了。
我正在尝试找出一种方法来调整下面的代码,使其进入我们的functions.php文件,因为create_function是贬值的,所以WordPress上的搜索功能被禁用,如果有人进入搜索页面url,就会返回404错误。

function disable_search( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'disable_search' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
function remove_search_widget() {
unregister_widget('WP_Widget_Search');

add_action( 'widgets_init', 'remove_search_widget' );

由于对php来说还是相当新的,不知道如何调整上面的代码以在php 8上工作,并停止在WordPress中使用搜索功能。

b1zrtrql

b1zrtrql1#

试试这个:

function disable_search( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}
}
add_filter( 'parse_query', 'disable_search' );
add_filter( 'get_search_form', function() { return null; } );
function remove_search_widget() {
unregister_widget( WP_Widget_Search::class );

add_action( 'widgets_init', 'remove_search_widget' );

相关问题