WP-Abfrage, die alle Posts zurückgibt

Ich habe eine benutzerdefinierte WP-Abfrage, die jeden Post zurückgibt, anstatt nur die, die von der Abfrage angegeben werden. Ich kann nichts falsch mit dem Code finden, also muss ich etwas vermissen:

//Process incoming variable if(!empty($_REQUEST['region'])){ $region = $_REQUEST['region']; } else { $region = NULL; } if (empty($region)) { echo "No region selected"; //Search Region table to retrieve array of country names }else{ $regionresult = mysql_query("SELECT * FROM gallery_regions WHERE region='$region'") or die(mysql_error()); $num_rows = mysql_num_rows($regionresult); if (!$regionresult) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message); } // Process search reults and format array contents for WP Query $country_search_array = array(); while($row = mysql_fetch_array($regionresult)){ $country_search_array[] = $row['country']; } $country_search = "'".implode("','", $country_search_array)."'"; //Build WP query $args = array( 'posts_per_page' => '-1', 'cat' => '4', 'meta_query' => array( array( 'meta_key' => 'Country-2', 'meta_value' => $country_search, 'compare' => '=' ) ) ); $country_query = new WP_Query( $args ); //Some output for troubleshooting purposes $num = $country_query->post_count; print_r ($country_search); echo "

"; print_r ($num);echo " Posts Returned.

"; // The Loop while ( $country_query->have_posts() ) : $country_query->the_post(); the_title(); echo"
"; endwhile; // Reset Everything wp_reset_postdata(); wp_reset_query(); mysql_free_result($regionresult);

Wenn Ihnen das bekannt vorkommt, liegt es daran, dass ich weitere Fragen zu diesem Projekt gestellt habe, also entschuldige ich mich, wenn es sich wiederholt anhört. Dies ist jedoch die letzte Hürde.

Wie immer wird jede Hilfe geschätzt.

Vielen Dank!

ty

UPDATE – Hier ist die eigentliche Abfrage, wie sie von print_r generiert wird:

 WP_Query Object ( [query_vars] => Array ( [posts_per_page] => -1 [cat] => 4 [meta_query] => Array ( [0] => Array ( [meta_key] => Country [meta_value] => 'Algeria','Angola','Benin','Botswana','Burkina Faso','Burundi','Cape Verde','Central African Republic','Chad','Comoros','Congo','Ivory Coast','Djibouti','Egypt','Eritrea','Ethiopia','Gabon','Gambia','Ghana','Kenya','Lesotho','Liberia','Libya','Madagascar','Malawi','Mauritania','Mauritius','Morocco','Mozambique','Nambia','Niger','Nigeria','Reunion','Rwanda','Sao Tome & Principe','Senegal','Seychelles','Sierra Leone','Somalia','South Africa','Sudan','Swaziland','Tanzania','Togo','Tunisia','Uganda','Zaire','Zambia','Zimbabwe' [compare] => IN ) ) [error] => [m] => 0 [p] => 0 [post_parent] => [subpost] => [subpost_id] => [attachment] => [attachment_id] => 0 [name] => [static] => [pagename] => [page_id] => 0 [second] => [minute] => [hour] => [day] => 0 [monthnum] => 0 [year] => 0 [w] => 0 [category_name] => gallery [tag] => [tag_id] => [author_name] => [feed] => [tb] => [paged] => 0 [comments_popup] => [meta_key] => [meta_value] => [preview] => [s] => [sentence] => [fields] => [category__in] => Array ( [0] => 4 ) [category__not_in] => Array ( ) [category__and] => Array ( ) [post__in] => Array ( ) [post__not_in] => Array ( ) [tag__in] => Array ( ) [tag__not_in] => Array ( ) [tag__and] => Array ( ) [tag_slug__in] => Array ( ) [tag_slug__and] => Array ( ) [ignore_sticky_posts] => [suppress_filters] => [cache_results] => 1 [update_post_term_cache] => 1 [update_post_meta_cache] => 1 [post_type] => [nopaging] => 1 [comments_per_page] => 50 [no_found_rows] => [order] => DESC ) [tax_query] => WP_Tax_Query Object ( [queries] => Array ( [0] => Array ( [taxonomy] => category [terms] => Array ( [0] => 4 ) [include_children] => [field] => term_id [operator] => IN ) ) [relation] => AND ) [meta_query] => WP_Meta_Query Object ( [queries] => Array ( [0] => Array ( [meta_key] => Country [meta_value] => 'Algeria','Angola','Benin','Botswana','Burkina Faso','Burundi','Cape Verde','Central African Republic','Chad','Comoros','Congo','Ivory Coast','Djibouti','Egypt','Eritrea','Ethiopia','Gabon','Gambia','Ghana','Kenya','Lesotho','Liberia','Libya','Madagascar','Malawi','Mauritania','Mauritius','Morocco','Mozambique','Nambia','Niger','Nigeria','Reunion','Rwanda','Sao Tome & Principe','Senegal','Seychelles','Sierra Leone','Somalia','South Africa','Sudan','Swaziland','Tanzania','Togo','Tunisia','Uganda','Zaire','Zambia','Zimbabwe' [compare] => IN ) ) [relation] => AND ) [post_count] => 1047 [current_post] => -1 [in_the_loop] => [comment_count] => 0 [current_comment] => -1 [found_posts] => 0 [max_num_pages] => 0 [max_num_comment_pages] => 0 [is_single] => [is_preview] => [is_page] => [is_archive] => 1 [is_date] => [is_year] => [is_month] => [is_day] => [is_time] => [is_author] => [is_category] => 1 [is_tag] => [is_tax] => [is_search] => [is_feed] => [is_comment_feed] => [is_trackback] => [is_home] => [is_404] => [is_comments_popup] => [is_paged] => [is_admin] => [is_attachment] => [is_singular] => [is_robots] => [is_posts_page] => [is_post_type_archive] => [query_vars_hash] => 859f71690a2d92bf36791d7332bf2dbc [query_vars_changed] => [thumbnails_cached] => [query] => Array ( [posts_per_page] => -1 [cat] => 4 [meta_query] => Array ( [0] => Array ( [meta_key] => Country [meta_value] => 'Algeria','Angola','Benin','Botswana','Burkina Faso','Burundi','Cape Verde','Central African Republic','Chad','Comoros','Congo','Ivory Coast','Djibouti','Egypt','Eritrea','Ethiopia','Gabon','Gambia','Ghana','Kenya','Lesotho','Liberia','Libya','Madagascar','Malawi','Mauritania','Mauritius','Morocco','Mozambique','Nambia','Niger','Nigeria','Reunion','Rwanda','Sao Tome & Principe','Senegal','Seychelles','Sierra Leone','Somalia','South Africa','Sudan','Swaziland','Tanzania','Togo','Tunisia','Uganda','Zaire','Zambia','Zimbabwe' [compare] => IN ) ) ) [request] => SELECT alere_posts.* FROM alere_posts INNER JOIN alere_term_relationships ON (alere_posts.ID = alere_term_relationships.object_id) WHERE 1=1 AND ( alere_term_relationships.term_taxonomy_id IN (4) ) AND alere_posts.post_type = 'post' AND (alere_posts.post_status = 'publish' OR alere_posts.post_status = 'private') GROUP BY alere_posts.ID ORDER BY alere_posts.post_date DESC [posts] => Array (… 

Solutions Collecting From Web of "WP-Abfrage, die alle Posts zurückgibt"

Ich glaube, du verwechselst alte Meta-Parameter mit neuen Meta- meta_query Parametern. meta_key sollte nur key und meta_value sollte nur value . In WP_Query in Codex finden Sie die korrekte Syntax.

Auch print_r( $country_query ); zeigt Ihnen die tatsächliche SQL-Abfrage, die an die database gesendet wird und zeigt Ihnen, wo Sie falsch liegen.

Danke für die Hilfe!

Es hat sich herausgestellt, dass es eine Kombination von Problemen ist:

  1. Anstatt das $country_search_array implodieren, muss es der Abfrage hinzugefügt werden.
  2. Da es sich um ein Array handelt, können wir das '=' für den Vergleichswert nicht verwenden. Es muss 'IN'

Ich hätte es ohne die Hilfe, die ich hier erhielt, nicht herausgefunden. Noch einmal Danke!