英文フォーラムで、How to show front page(latest posts) in two columns?という質問がありました。
トップページの投稿のループ表示を、2カラムのグリッドのように表示できないかという質問でした。
Raindropsでは、ループ表示のカスタマイズのための、クラスがいくつか組み込まれています。
トップページのループのカスタマイズ方法について説明します。
ループ表示を行った場合の、html構造は以下のようなものです。
<ul class="index"> <li class="loop-1 loop-post-format-status"> <article id="post-4373" class="post-4373 post type-post status-publish format-status hentry category-uncategorized"> ... </article> </li> <li class="loop-2">...</li> <li class="loop-3">...</li> <li class="loop-4">...</li> <li class="loop-5"> <article id="post-4362" class="post-4362 post type-post status-publish format-standard hentry category-uncategorized"> ........ </article> </li> </ul>
ループは、リスト形式で、それぞれのループには、loop-numといったクラスが割り当てられます。また、loop-post-format-statusといった、投稿フォーマットに対応したクラスがli要素に追加されます。
これらのクラスや、CSSのnth-childプロパティなどを使うと、レイアウトのカスタマイズが可能です。
2カラムにする、アイディアは以下のようなものです。
( 十分なテストを積み重ねたものではないので、検証を行ってください )
@media screen and (min-width : 640px){ .home ul.index > li{ display:inline-block; clear:none; } .home .index > li:nth-child(odd){ width:50%; float:left; border:1px solid rgba(222,222,222,.2); clear:both; } .home .index > li:nth-child(even){ width:50%; float:right; border:1px solid #fff; } }
上記のコードをチャイルドテーマなどの、style.cssの最後に追加する事で、レスポンシブ対応(640pxを境に)のPC用2カラム表示が可能になります。
ただし、この設定を行うだけですと、それぞれのエントリーの文章量や画像などにより、ブロックの高さが、大きく変わってしまうことがありますので、そのあたりの調整の例として、トップページを要約文表示にする設定をメモしておきますので、それぞれの環境により工夫してください。
Raindrops ver 1.127の場合 line:454
/** * the_content( ) or the_excerpt * * the_excerpt use where index,archive,other not single pages. * If RAINDROPS_USE_LIST_EXCERPT value false and use the_content . * * add ver 1.127 * When use excerpt please set $raindrops_where_excerpts */ if ( ! defined( 'RAINDROPS_USE_LIST_EXCERPT' ) ) { define( "RAINDROPS_USE_LIST_EXCERPT", false ); } // values 'is_search', 'is_archive', 'is_category' ,'is_tax', 'is_tag' any conditional function name if( ! isset( $raindrops_where_excerpts ) ) { $raindrops_where_excerpts= array( 'is_search' ); }
上記のコードを見つけ、要約文表示をtrueに変更します
define( "RAINDROPS_USE_LIST_EXCERPT", true );
is_homeを追加します
$raindrops_where_excerpts= array( 'is_search', 'is_home' );Raindropsでは、アイキャッチ付画像をグリッド表示するテンプレートが付属していますので、そちらもお試しください。
1.127 不具合がありましたので、お知らせします。
クラスloop-1 loop-post-format-statusと各クラスがスペースで区切られているはずのものが、loop-1loop-post-format-statusと、スペースがなく有効なクラスになっていない事が判明しました。この問題は、1.128にて修正される予定です