未定义的索引:帖子类型

时间:2014-08-21 19:56:14

标签: php wordpress slider

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

  

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

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

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' );
        }
    }   
}

1 个答案:

答案 0 :(得分:2)

此错误来自插件。

如果您正在处理插件,要解决问题,首先应检查$ 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' );
    }
}

如果您没有使用该插件,您可能希望禁用插件的错误,并为主题启用它们。为此,您可以将以下代码片段添加到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');