2017-01-23 8 views
0

Ich versuche, benutzerdefinierte Post-Typen aus einer benutzerdefinierten Taxonomie zu erhalten. Im Anschluss an hier im Zusammenhang die Dokumentation und andere ähnliche Probleme, ich habe folgende Möglichkeiten:WP_Query zum Abrufen von Posts unter benutzerdefinierter Taxonomie funktioniert nicht

$query = new WP_Query(array(
    'post_type' => 'job', 
    'tax_query' => array(

    'taxonomy' => 'location', 
    'field' => 'slug', 
    'terms' => 'california' 
    ) 
) 

Aber das Problem ist, dass diese Abfrage alle Beiträge ist immer, nicht nur Beiträge unter „California“ Taxonomie.

Wenn mehr Informationen benötigt werden, kann ich mehr Code zur Verfügung stellen, der die Frage bearbeitet.

Vielen Dank im Voraus!

Antwort

1

Versuchen:

$posts_array = get_posts(
     array(
      'posts_per_page' => -1, 
      'post_type' => 'job', 
      'tax_query' => array(
       array(
        'taxonomy' => 'location', 
        'field' => 'slug', 
        'terms' => 'california', 
     ) 
     ) 
    ) 
); 
+0

Hat auch nicht funktioniert. Es bringt alle 'Jobs', nicht nur aus 'Kalifornien':/ –

+0

In der Tat haben Sie vorgeschlagen, meine Tax_Query als Array von Arrays .. also werde ich das auch richtig! –

-1

In Ihrer while-Schleife, denken Sie daran

, so etwas zu wechseln
<?php 

    while ($query->have_posts()) { 
    $query->the_post(); 
     // Important line, especially if you have 
     //multiple WP_Query invocations 

    DO WHAT YOU WANT HERE 

    wp_reset_postdata(); 
    } 

?> 
+0

Danke, aber meine Schleife richtig war ... Ich überprüft it;) –

+0

Glad u a gefunden Lösung – codiiv

1

Sie ein Array fehlt. Das Steuerabfrageargument kann für mehrere Taxonomien verwendet werden. Es akzeptiert ein Array von Arrays.

Wichtiger Hinweis: tax_query nimmt ein Array von Steuerabfrageargumentarrays (es dauert ein Array von Arrays). Mit diesem Konstrukt können Sie mehrere Taxonomien abfragen, indem Sie den Beziehungsparameter im ersten (externen) Array verwenden, um die boolesche Beziehung zwischen den Taxonomiearrays zu beschreiben.

https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

ändern diese:

'tax_query' => array(

    'taxonomy' => 'location', 
    'field' => 'slug', 
    'terms' => 'california' 
    ) 

Um dies:

'tax_query' => array(
    array(
     'taxonomy' => 'location', 
     'field' => 'slug', 
     'terms' => 'california', 
    ), 
), 
+0

Vielen Dank. Das hat mich verwirrt. Jetzt funktioniert es perfekt! –

Verwandte Themen