Wordpress 菜单在类别页面中消失

问题描述 投票:0回答:1

我有一个自定义查询来排序和显示我的functions.php中的帖子,我注意到导航菜单在这些类别中消失了!

function my_filtro_ed_ordine( $query ) {
    
    if ( is_admin()) {
        return $query;    
    }

    
if ( (isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'viaggi-di-gruppo') || ( is_category(array(46, 4, 5, 6, 7, 8, 123, 161)) )) {
        
        $expire = date('Ymd');
        $query->set( 'meta_query', [
          'relation' => 'OR',
          [
           'key'     => 'partenza_al',
           'value'   => $expire,
           'compare' => '>=',
           'type'    => 'NUMERIC',
          ],
          [
           'key'     => 'partenza_al',
           'compare' => 'NOT EXISTS',
          ],
        ]);
        
        $query->set('orderby', 'meta_value');   
        $query->set('meta_key', 'partenza_al');  
        $query->set('order', 'ASC'); 
$query->set('meta_type', 'DATETIME');
    }
    
    return $query;
}
add_filter( 'pre_get_posts', 'my_filtro_ed_ordine' );

我不知道为什么菜单消失,有人知道为什么菜单消失吗? 任何帮助将不胜感激,谢谢!

PS:我已经尝试在

wp_nav_menu(array('theme_location' => 'primary-menu'));
中添加
if
,但该网站返回严重错误。

wordpress post menu categories
1个回答
0
投票

要修复,您需要从meta_query数组中删除meta_type参数这是更正后的代码

function my_filtro_ed_ordine( $query ) {
    
    if ( is_admin()) {
        return $query;    
    }

    if ( (isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'viaggi-di-gruppo') || ( is_category(array(46, 4, 5, 6, 7, 8, 123, 161)) )) {
        
        $expire = date('Ymd');
        $query->set( 'meta_query', [
          'relation' => 'OR',
          [
           'key'     => 'partenza_al',
           'value'   => $expire,
           'compare' => '>=',
           'type'    => 'DATE',
          ],
          [
           'key'     => 'partenza_al',
           'compare' => 'NOT EXISTS',
          ],
        ]);
        
        $query->set('orderby', 'meta_value');   
        $query->set('meta_key', 'partenza_al');  
        $query->set('order', 'ASC'); 
    }
    
    return $query;
}
add_filter( 'pre_get_posts', 'my_filtro_ed_ordine' );

© www.soinside.com 2019 - 2024. All rights reserved.