【问题标题】:How to fix this "Undefined index: post_type" error?如何修复此“未定义索引:post_type”错误?
【发布时间】:2021-05-12 11:30:53
【问题描述】:

我收到此错误:

注意:未定义索引:/opt/bitnami/apps/wordpress/htdocs/wp-content/themes/porto-child/functions.php 中的 post_type 在第 225 行

第 225 行对应下面代码中的switch ( $query->query_vars['post_type'] )

// Set Number of Custom Post Type Displayed Per Page

function set_posts_per_page_for_haivision_custom_post_type($query)
{
    switch ( $query->query_vars['post_type'] )
    {
        case 'press_release':  
            $query->query_vars['posts_per_page'] = -1;
            break;

        case 'video_portal':  
            $query->query_vars['posts_per_page'] = -1;
            break;

        default:
            break;
    }
    return $query;
}

if( !is_admin() )
{
    add_filter( 'pre_get_posts', 'set_posts_per_page_for_haivision_custom_post_type' );
}

谁能帮忙?

【问题讨论】:

    标签: php wordpress custom-wordpress-pages


    【解决方案1】:

    post_type 并不总是在 WP 查询中使用,您可以使用检查其存在的 if 包装您的 switch 语句:

    function set_posts_per_page_for_haivision_custom_post_type($query)
    {
        if( isset( $query->query_vars['post_type'] ) )
        {
            switch ( $query->query_vars['post_type'] )
            {
                case 'press_release':  
                    $query->query_vars['posts_per_page'] = -1;
                    break;
    
                case 'video_portal':  
                    $query->query_vars['posts_per_page'] = -1;
                    break;
    
                default:
                    break;
            }
        }
    
        return $query;
    }
    

    ...但是WP_Query 提供了 2 种方法来访问其变量:getset,前者已经检查了您要查找的变量是否存在,所以您不必自己动手:

    function set_posts_per_page_for_haivision_custom_post_type($query)
    {
        switch ( $query->get('post_type') )
        {
            case 'press_release':  
                $query->set('posts_per_page', -1);
                break;
    
            case 'video_portal':  
                $query->set('posts_per_page', -1);
                break;
    
            default:
                break;
        }
        return $query;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 2016-06-17
      相关资源
      最近更新 更多