WP REST API: kategori 1 ve kategori 2'ye göre filtrele


12

Ben REST API ile karışık ve bu ile sıkışmış: Nasıl cat1 ve cat2 hem de mesajları filtre?

Şimdilik, ?categories[]=45&categories[]=50kategori kimliği 45 VEYA 50'de geri dönüşler - 45 VE 50'de yayınları nasıl alabilirim?

Şimdiden teşekkürler.


Bunun için bir çözüm buldunuz mu?
Corey

@Corey: Hayır. Sanırım şu andan itibaren mümkün değil (bunu iddia eden diğer bazı eklenti destek mesajlarını gördüm) Ionic ile bir uygulama için API kullanıyordum, bunları ayrı olarak yükledim ve bunun yerine kesiştim. Öğrenmemin eksik olması durumunda açık bırakmak. Eklentinin düzenlendiği bir yerde okudum (hiç tavsiye edilmez).
Jesse P Francis

Yanıtlar:


6

Birden fazla kategori aşağıdaki gibi virgülle ayrılabilir

http://example.com/wp-json/wp/v2/posts?categories=20,30

Bu yardımcı olur umarım


İstek VE araması içindir, bu size VEYA verecektir.
Tom Woodward


1

Aşağıdakileri kullanarak birden fazla kategoriye erişebilmelisiniz:

http://YOURSITE.DEV/wp-json/wp/v2/posts?categories=45+50

Umarım yardımcı olur!

Şerefe


Çalışmıyor gibi görünüyor! :)
Jesse P Francis

1

Austin'in bahsettiği filtre eklentisini ( https://github.com/WP-API/rest-filter ) kurun ve deneyin ?filter[categories]=cat_one_slug%2Bcat_two_slug.

Bu sembolün %2Bkod eşdeğeri olduğunu öğrendim +.

Normalde +AND işleci için kullanırız , ancak maalesef bir boşluğa dönüştürülür, %2Bbunun yerine kullanın.


1

API'nin mevcut sürümünde bunu yapmanın bir yolu yok gibi görünüyor. Bir eklenti kullanmadan, özel bir uç nokta ile veya belirli posta türü için kalan sorgu filtresi işlevi kullanılarak elde edilebilir .

İşte bir parametre ekleyen kaba bir filtre işlevi cat_relation:

add_filter( 'rest_post_query', function( $args, $request ) {
    if($request['cat_relation'] == 'AND') {
        $args['category__and'] = $request['categories'];
    }
    return $args;
}, 10, 2);

Örnek bir istek URL'si şöyle olur:
http://example.com/wp-json/wp/v2/posts?categories=17,8&cat_relation=AND


0

Ben de öyle yaptım, iyi çalışıyor.

http://example.com/wp-json/wp/v2/articles/?_embed&categories=1,2,3,4&per_page=30

-1

Rest API v3 kullananlar için, Benim için çalışıyor:

http://example.com/wp-json/wc/v3/products/?category=42,43

Bu, ürünler ve ürün kategorileri için WooCommerce REST API'sidir. Soru, WordPress REST API'siyle yayınlar ve yayın kategorileriyle ilgiliydi.
Jacob Peattie
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.