php
  • mysql
  • wordpress
  • 2016-09-27 84 views 3 likes 
    3

    我試圖讓一個過濾器在Wordpress中工作,它將在當前查詢中附加一個子句並僅選擇具有某個meta_key值的結果。向WP QUERY添加「AND」子句

    我無法通過$args這樣做,因爲設置主題的方式和使用其他過濾器和掛鉤來發布數據。

    我能得到它完美地使用下面的代碼工作:

    function filter_where($where = '') { 
        $where .= "AND post_date >= '2016-09-24' "; 
        return $where; 
    } 
    
    add_filter('posts_where', 'filter_where'); 
    

    據我瞭解,元數據是在不同的表,但不完全知道如何去做。

    回答

    0

    SOLUTION

    我發現了一個辦法做到這一點......這是以防萬一有人運行到同一問題的修補程序。

    add_action('pre_get_posts', 'posts_meta_array'); 
    
    function posts_meta_array($query) 
        { 
    
        // IF IT IS AN ARRAY YOU HAVE TO SERIALIZE IT 
    
        $meta_it = serialize(strval("1")); 
        $query->set('posts_per_page', '6'); 
        $query->set('meta_key', 'access'); 
        $query->set('meta_value', $meta_it); 
        $query->set('meta_compare', 'LIKE'); 
        } 
    
    相關問題