記事一覧を五十音順に表示するには、プラグインとかを使って手動でソートするという方法もありますが、やはりここはテーマに組み込んでスマートに行きたい。
と思ったもののどうすればいいのか見当もつかなかったので、結局カスタムフィールドにフリガナを手打ちで入れるというアナログな方法に至りました。
wp-furiganaというプラグインを導入すれば、記事タイトルの読み方を解析して自動でカスタムフィールドにフリガナを入力してくれるそうですが、Yahooに登録する必要が有るらしいとのことで使用は断念しました。
“furigana”というカスタムフィールドにフリガナを入れて、下記のコードを使用します。
<?php $paged = get_query_var('paged'); ?> <?php query_posts("posts_per_page=10&paged=$paged&orderby=meta_value&meta_key=furigana&order=asc"); ?> <?php if (have_posts()) : while(have_posts()) : the_post(); ?> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <?php endwhile; ?> <?php else: ?> <p>記事がありません</p> <?php endif; ?>
カスタム投稿タイプで表示する場合は以下の通りです。
<?php $args = array( 'numberposts' => 10, 'post_type' => 'カスタム投稿タイプ名', 'orderby' => 'meta_value', 'meta_key' => 'furigana', 'order' => 'asc' ); $customPosts = get_posts($args); if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); ?> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <?php endforeach; ?> <?php else : ?> <p>記事がありません</p> <?php endif; wp_reset_postdata();>