benutzerdefinierte Feldwerte filtern $ min $ max

Der Benutzer muss Posts abfragen, indem er einen $ minPrice, $ maxPrice und einen Kategoriewert eingibt.

Hier ist meine Abfrage, die keine Ergebnisse zurückgibt:

function result() { $result = array( 'cat' => '10,17,18,13', 'meta_query' => array( array( 'key' => 'filter', 'value' => array( $min, $max ), 'compare' => 'BETWEEN', 'type' => 'numeric', ) ), ); // The Query $result = new WP_Query($result); // The Loop while ( $result->have_posts() ) : $result->the_post(); include (ROCKABLE_INCLUDES . 'houseLandPackage-post-excerpt.php'); endwhile; // Reset Post Data wp_reset_postdata(); } 

Das Problem ist, dass ich keine Ergebnisse zurückbekomme, wenn ich $ min und $ max als Meta-Abfragewerte verwende. Ich werde die korrekten “Min – Max” Ergebnisse zurückbekommen, wenn ich jedoch “300” und “400” verwende.

So sieht die URL aus, wenn die Abfrage http://localhost:8888/provgreen/?mode=advanced&min=3000&max=4000&s=+&cat=17&sa=Submit+Query wird: http://localhost:8888/provgreen/?mode=advanced&min=3000&max=4000&s=+&cat=17&sa=Submit+Query

Dieser Thread gibt an, dass der folgende Code für die Ausführung meiner Abfrage benötigt wird: http://wordpress.org/support/topic/searching-for-posts-with-custom-data-in-a-numeric-range-price? Antworten = 4

Jede Hilfe oder Hinweise sehr geschätzt.

Hier ist der Code, den ich in search.php habe

 term_id; $newsearch.="&cat=".$selectedCatId; } if(isset($_GET["filter"])&& $_GET["filter"]!='') { $selectedPrice=$_GET["filter"]; $parts = explode("-",$selectedPrice); $min = $parts[0]; $max = $parts[1]; mam_custom_field_range('filter',$min,$max); } query_posts($newsearch); ?> 

das ist in function.php

 // Define the function that will create the join string function mam_custom_field_range($filter='',$min=false,$max=false) { global $mam_global_join,$wpdb; if ($filter && ($min !== false || $max !== false)) { $mam_global_join = " JOIN $wpdb->postmeta acfr_$filter ON ( $wpdb->posts.ID = acfr_$filter.post_id AND acfr_$filter.meta_key = '$filter'"; if ($min !== false) $mam_global_join .= " AND acfr_$filter.meta_value >= $min"; if ($max !== false) $mam_global_join .= " AND acfr_$filter.meta_value <= $max"; $mam_global_join .= ')'; } } // Define the join filter function function mam_posts_join ($join) { global $mam_global_join; if ($mam_global_join) $join .= $mam_global_join; return $join; } // Add the filter to the hooks add_filter('posts_join','mam_posts_join'); 

Ich benutze

und einige Eingabefelder für die Min-, Max-Werte in form.php

Solutions Collecting From Web of "benutzerdefinierte Feldwerte filtern $ min $ max"