我有一个带有一些自定义分类法的自定义帖子类型,我正在使用一段代码,使用下拉菜单在主编辑页上根据分类法过滤帖子,效果很好,但我发现,当我单击分类法的主页,并单击包含特定术语的帖子数量时,它会显示“尝试获取非对象的属性”,而不会过滤它们。这是导致me问题的代码:
function taxonomy_filter_post_type_request( $query ) {
global $pagenow, $typenow;
if ( \'edit.php\' == $pagenow ) {
$filters = get_object_taxonomies( $typenow );
foreach ( $filters as $tax_slug ) {
$var = &$query->query_vars[$tax_slug];
if ( isset( $var ) ) {
$term = get_term_by( \'id\', $var, $tax_slug );
if($var){
$var = $term->slug;
}
}
}
}
}
add_filter( \'parse_query\', \'taxonomy_filter_post_type_request\' );
读取$var=$term->slug的行;似乎是导致问题的原因,但如果我更换:
if($var){
$var = $term->slug;
}
收件人:
if(is_array($var)){
$var = $term->slug;
}
然后,当我单击包含某个术语的帖子数量时,它就会工作,但下拉菜单过滤器无法工作。
通过观察这一点,是否有可能使它们都起作用?