Ich muss Beiträge nach einem benutzerdefinierten Feldwert filtern.
Mein konkretes Beispiel:
Ich habe viele Antworten überprüft, aber kein Fall war so einfach. Ich habe darüber nachgedacht, es mit einer benutzerdefinierten Suche oder einem Plugin zu tun, aber ich weiß wirklich nicht, wo ich anfangen soll. danke für Ihre Hilfe.
BEARBEITEN: Die benutzerdefinierten Feldwerte sind fest und werden nicht automatisch ausgefüllt. Die Auswahl kann ohne zusätzliche Abfragen in normalem HTML erstellt werden.
Nach ersten Kommentaren bearbeitet und Pastebin-Code:
<?php /* You can also leave 'action' blank: action="" */ ?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="my_size" id="size" class="postform" onchange="submit();">
<option selected="selected">Choose a size</option>
<option value="10">10</option>
<option value="20">20</option>
</select>
</form>
<?php /* Reset filter */ ?>
<p><a href="<?php the_permalink(); ?>">Clear filter</a></p>
<?php
if( !isset($_POST['my_size']) || '' == $_POST['my_size']) {
// unfiltered product list here
}
else {
// Get dropdown value
// Don't forget to sanitize this!
$size = $_POST['my_size'];
// Create new query
$query = new WP_Query( array(
'post_type'=> 'product', // your CPT
'post_status' => 'publish',
'meta_key' => 'size',
'meta_value' => $size, // Dropdown value
) );
// Loop
if($query->have_posts()):
while( $query->have_posts() ): $query->the_post();
// Product content
endwhile;
endif;
// reset query to default
wp_reset_postdata();
}
Siehe Codex für WP_Query-Referenz .