カスタムフィールド値で投稿をフィルタリングする必要があります。
私の具体的な例:
たくさんの答えを調べましたが、それほど単純なケースはありませんでした。私はカスタム検索やプラグインを使ってそれをすることを考えていました、しかし私は本当にどこから始めればよいかわかりません。ご協力いただきありがとうございます。
編集:カスタムフィールドの値は固定され、自動入力されません。 selectは追加の問い合わせなしで普通のhtmlで構築することができます。
最初のコメントに従って編集された およびPastebinコード:
<?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();
}
WP_Queryのリファレンス については、Codexを参照してください。