Ich habe einen benutzerdefinierten Posttyp namens “Eigenschaften” und habe eine Archivseite eingerichtet, um Beiträge in dieser Kategorie anzuzeigen.
Im Wesentlichen muss die Archivseite drei verschiedene Abfragetypen enthalten. Das erste, um Suchergebnisse von Posts innerhalb des CPT anzuzeigen, das zweite, um Ergebnisse sortierbar zu machen (Abfrage über ein Dropdown-Menü, das benutzerdefinierte Feld-Metawerte abfragt), und das dritte, um alle Posts innerhalb des CPT anzuzeigen.
Ich bin mir nicht sicher, wie ich die Abfragen und Schleifen strukturieren soll – alle Abfragen funktionieren individuell, aber ich habe Schwierigkeiten, die If / Else-statementen so einzurichten, dass sie innerhalb einer Archivseite funktionieren. Daher wäre ich für jeden Rat dankbar Vielleicht hast du!
Abfrage 1: Suchergebnisse
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_type' => 'properties', 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'property_size', 'value' => $_GET['size'], 'compare' => '>=' ), array( 'key' => 'property_rent', 'value' => $_GET['budget-from'], 'compare' => '>=', 'type' => 'NUMERIC' ), array( 'key' => 'property_rent', 'value' => $_GET['budget-to'], 'compare' => ' 'NUMERIC' ) ), 'paged' => $paged ); $query = new WP_Query( $args );
Abfrage 2: Sortierbare Beiträge innerhalb von CPT
if($_POST['square-sort-select'] == 0): $select = $_POST['square-sort-select']; $query = new WP_Query(array( 'post_type'=> 'properties', 'post_status' => 'publish', 'meta_key' => 'property_rent', 'orderby' => 'property_rent', 'order' => DESC )); ; elseif($_POST['square-sort-select'] == 1): $select = $_POST['square-sort-select']; $query = new WP_Query(array( 'post_type'=> 'properties', 'post_status' => 'publish', 'meta_key' => 'property_rent', 'orderby' => 'property_rent', 'order' => ASC )); ; elseif($_POST['square-sort-select'] == 2): $select = $_POST['square-sort-select']; $query = new WP_Query(array( 'post_type'=> 'properties', 'post_status' => 'publish', 'order' => DESC ));
Abfrage 3: Alle Beiträge innerhalb von CPT
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $query = new WP_Query(); $query->query('post_type=properties&posts_per_page=6&paged='.$paged);
Das sind viele Fragen! Haben Sie darüber nachgedacht, die Abfrage einmal auszuführen und etwas wie Mixitup oder Isotop zu verwenden, um Ihre Ergebnisse zu sortieren?