如何解决如何修复此“未定义索引:post_type”错误?
我收到此错误:
注意:未定义索引:/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' );
}
有人可以帮忙吗?
解决方法
post_type
并不总是在 WP 查询中使用,您可以用检查其存在的 switch
包装您的 if
语句:
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 种方法来访问它的变量:get
和 set
,前者已经检查了你所访问的变量是否寻找存在,所以你不必自己做:
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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。