post_name__inは、WordPress4.4から追加されたパラメータで、スラッグが一致する記事を抽出することができます。
今回は、この新しいパラメータpost_name__inについて、簡単に解説したいと思います。
post_name__inの使用例
例えば、スラッグが「example」と「sample」の記事を抽出したい場合、以下のように記述します。
$arg = array( 'post_name__in' => array('example','sample'); ); $posts_array = get_posts($arg);
値が1つであっても配列で渡すというのが特徴です。
日本語スラッグの場合は、urlencodeしなければいけません。
$arg = array( 'post_name__in' => array( urlencode('日本語スラッグ') ); ); $posts_array = get_posts($arg);
こんな感じで、簡単にスラッグが一致する記事を抽出することができます。
抽出した記事のタイトルをリストで表示するには、以下のような感じで記述します。
<?php $arg = array( 'post_name__in' => array('example','sample'); ); $posts_array = get_posts($arg); ?> <ul> <?php foreach($posts_array as $post) : setup_postdata($post); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?> </ul> <?php endif; wp_reset_postdata(); ?>
あとがき
スラッグが一致する記事を簡単に抽出することができますね。
ちなみにスラッグは完全一致でないと抽出されませんのでご注意ください。