未定义索引:帖子类型

1 php wordpress slider

我在仪表板或 Wordpress 中收到此错误消息:

注意:未定义的索引:post_type in /var/www/vhosts/dpsnet.frontier.ms/wp-content/plugins/responsive-slider/responsive-slider.php 第 594 行

我没有对代码进行自定义编辑。有人可以帮忙吗?这是与错误相关的函数:

function responsive_slider_column_order($wp_query) {

    if( is_admin() ) {

        $post_type = $wp_query->query['post_type'];

        if( $post_type == 'slides' ) {
            $wp_query->set( 'orderby', 'menu_order' );
            $wp_query->set( 'order', 'ASC' );
        }
    }   
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*sov 5

此错误来自插件内。

如果您正在处理插件,要解决此问题,您应该首先检查 $wp_query->query['post_type'] 变量是否存在,如下所示:

if( isset($wp_query->query['post_type']) ) {
    $post_type = $wp_query->query['post_type'];

    if( $post_type == 'slides' ) {
        $wp_query->set( 'orderby', 'menu_order' );
        $wp_query->set( 'order', 'ASC' );
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您不使用插件,您可能希望禁用插件的错误并简单地为主题启用它们。为此,您可以将以下代码片段添加到 wp-config.php,就在 WP_DEBUG 常量定义的下方:

function ignore_plugins_errors($errno, $errstr, $errfile, $errline, $errcontext) {
    if (defined('E_STRICT') && $errno==E_STRICT) {
        return;
    }

    $error_file = str_replace('\\', '/', $errfile);
    $content_dir = str_replace('\\', '/', WP_CONTENT_DIR . '/themes');

    if (strpos($error_file, $content_dir) === false) {
        return true;
    }
    return false;
}
set_error_handler('ignore_plugins_errors');
Run Code Online (Sandbox Code Playgroud)