こんにちは、SHUMiSTです。
Simplicity(シンプリシティー)テーマを使用して、STORK(ストーク)テーマを再現というかデザインを近づけるカスタマイズ第7回目です。
前回は、レスポンシブに強いjQueryカルーセルスライダー「slick.js」を使用して、ページトップにピックアップ記事スライダーを追加するカスタマイズを行いました。
今回は、Simplicity(シンプリシティー)テーマのページトップやカテゴリーページの記事一覧をSTORK(ストーク)テーマのシンプルタイプ風にするカスタマイズを行います。
また、今回から3回に渡って下記のSTORK(ストーク)テーマ風の4種類のうち3種類の記事一覧のカスタマイズを行います。
ビッグタイプについては、Simplicity(シンプリシティー)テーマの大きなエントリーカードレイアウトが似たようなレイアウトになっているので省きます。
各タイプのデザインは、下記のページを参照してください。
また、テンプレートファイルに変更を加える場合は親テーマの該当ファイルを子テーマのディレクトリにコピーし、子テーマで変更を加えましょう。
- 記事一覧をSTORK(ストーク)テーマのシンプルタイプ風にしよう!
- メインカラムボックスのレイアウトを設定
- メインカラム左(記事一覧)にスタイルを設定
- メディアクエリにメインカラムボックスのレイアウトを設定
- 既存のスタイルに要素を追加
- function.phpにテーマのメインコンテンツの表示領域の変更を設定
- function.phpにシンプルタイプの記事一覧用のサムネイル画像サイズを設定
- entry-card-content.phpからカテゴリーリンクを削除
- entry-card.phpにカテゴリーリンクを追加
- entry-card.phpのデフォルトエントリーカードのサムネイルサイズ設定を変更
- category-link.phpに記事一覧ページ用のカテゴリーリンクを追加
- 記事を読むを非表示に設定
- 日付表示のフォーマットを変更
- メインカラム右(サイドバー)の幅を336pxに変更
- カスタマイズまとめ
記事一覧をSTORK(ストーク)テーマのシンプルタイプ風にしよう!
STORK(ストーク)テーマにはシンプルタイプ、カードタイプ、マガジンタイプ、ビッグタイプの4種類のタイプから記事一覧を選ぶことができますが、そのうちのシンプルタイプ風のデザインに整えていきます。
また、Simplicity(シンプリシティー)テーマでは、外観->カスタマイズ->レイアウト(全体・リスト)->一覧リストのスタイルから10種類の記事一覧タイプを選択することができます。
この10種類の中からカスタマイズ予定の上記3種類のタイプを切り替えられるように、各タイプに近いデザインタイプを選んでからカスタマイズを行います。
メインカラムボックスのレイアウトを設定
記事一覧のデザインを整える前に、メインカラムボックス#body、#body-inのレイアウトを変更します。
追加ソース
.home #body {
margin-top: 1.5em;
}
#body-in {
background: #ffffff;
box-shadow: 0 0 1px #dddddd;
}
メインカラム左(記事一覧)にスタイルを設定
今回のカスタマイズのメインであるメインカラム左(記事一覧)にスタイルを設定します。
追加ソース
以下の追加ソースを子テーマのスタイルシート(style.css)にコピペ(コピー&ペースト)します。
#main {
background: none;
border: 0;
zoom: 1;
position: static;
}
#list a.hover-card {
font-size: 13px;
position: relative;
zoom: 1;
}
#list a:first-child .entry {
border-top: 1px dotted rgba(0,0,0,.2);
}
#list a .entry {
display: block;
padding: 1.9em .7em;
text-decoration: none;
color: #666;
border-bottom: 1px dotted #ccc;
border-bottom: 1px dotted rgba(0,0,0,.2);
position: relative;
zoom: 1;
margin-bottom: 0;
}
#main .hover-card .entry-thumb {
text-align: center;
overflow: hidden;
position: relative;
width: 42%;
max-height: 180px;
margin: 0;
}
#main .hover-card .entry-thumb img {
margin: 0;
height: auto;
width: 100%;
}
.entry-thumb .category {
text-align: center;
position: absolute;
top: 0;
right: 0;
background: #fcee21;
color: #444;
font-size: 0.7em;
font-weight: bold;
padding: 0.1em 0.5em;
min-width: 8em;
opacity: .9;
filter: alpha(opacity=90);
-ms-filter: "alpha(opacity=90)";
text-decoration: none;
}
#list .hover-card .entry-card-content {
padding: 0 0 0 3%;
overflow: hidden;
margin: 0;
}
.entry-card-content header {
margin: 0;
}
#list .hover-card .entry-card-content h2 {
font-size: 1.6em;
margin-top: 0;
margin-bottom: 0.3em;
color: #444;
}
#list .hover-card .entry-card-content p {
margin-bottom: 0.3em;
}
.entry .post-meta {
margin: 0;
background-color: transparent;
font-size: inherit;
color: #666;
}
.entry-card-content p {
margin: 0 0 1.6em;
line-height: 1.75;
}
.post-meta .post-date {
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
opacity: .7;
margin-right: .6em;
display: inline-block;
font-size: .85em;
font-family: 'Concert One', cursive;
font-weight: normal;
padding: 0;
text-decoration: none;
color: #666;
}
.fa-clock-o:before {
content: "\f274";
font-size: .88em;
margin-right: .3em;
position: relative;
top: -1px;
}
#list .hover-card .entry-card-content p {
margin-bottom: 0.3em;
}
メディアクエリにメインカラムボックスのレイアウトを設定
第3回で追加してあるメディアクエリ(1166px以上)の設定にレイアウトを設定します。
追加先のメディアクエリ
@media only screen and (min-width: 1166px) {
//この括弧内に追加する
}
追加ソース
#body-in {
width: 1166px;
padding: 35px;
margin-bottom: 2em;
}
#main {
width: 798px;
margin: -35px;
padding: 35px;
float: left;
}
#list a.hover-card:before {
content: "";
display: block;
width: 0%;
height: 100%;
background: #1BB4D3;
position: absolute;
top: 0;
left: 50%;
z-index: 0;
transition: .3s;
opacity: .05;
filter: alpha(opacity=5);
-ms-filter: "alpha(opacity=5)";
}
既存のスタイルに要素を追加
第3回、第4回で追加した既存のスタイルに今回、同様のスタイルを適用するため要素を追加します。
追加前のソース
#header-in:before, #header-in:after,
.menu:before, .menu:after,
#h-top:before, #h-top:after {
content: "";
display: table;
}
#header-in:after, .menu:after, #h-top:after {
clear: both;
}
追加後のソース
#body-in、#main、#list関係のbefore、after要素を追加します。
#header-in:before, #header-in:after,
.menu:before, .menu:after,
#h-top:before, #h-top:after,
#body-in:before, #body-in:after,
#main:before, #main:after,
#list .entry:before, #list .entry:after,
#list a.hover-card:before, #list a.hover-card:after {
content: "";
display: table;
}
#header-in:after, .menu:after, #h-top:after,
#body-in:after, #main:after, #list .entry:after,
#list a.hover-card:after {
clear: both;
}
function.phpにテーマのメインコンテンツの表示領域の変更を設定
先ほどまでのスタイルを設定したことで、メインカラム全体の幅が”1166px”になりデフォルトのSimplicity(シンプリシティー)テーマより広がっています。
これにより、メインカラム左(記事一覧)も”728px”に広がっているため、Simplicity(シンプリシティー)テーマ側で定義されているコンテンツ幅を変更します。
追加ソース
//コンテンツの幅の指定
if ( ! isset( $content_width ) ) $content_width = 728;
function.phpにシンプルタイプの記事一覧用のサムネイル画像サイズを設定
STORK(ストーク)テーマでは、各タイプ毎にサムネイル画像サイズが違うため、第6回で書いた理由によりシンプルタイプ用のサムネイル画像サイズを設定します。
追加ソース
//記事一覧シンプルタイプのサムネイル画像を設定
add_image_size('thumb298', 298, 178, true);
entry-card-content.phpからカテゴリーリンクを削除
カテゴリーリンクを別のテンプレートに移動するため、以下のソースを削除します。
削除前ソース
<?php endif; //is_create_date_visible?>
<?php get_template_part('category-link');//カテゴリーリンク?>
<?php //インデクスにタグを表示したい場合コメントアウト
削除ソース
<?php get_template_part('category-link');//カテゴリーリンク?>
削除後ソース
<?php endif; //is_create_date_visible?>
<?php //インデクスにタグを表示したい場合コメントアウト
entry-card.phpにカテゴリーリンクを追加
先ほどentry-card-content.phpから削除したカテゴリーリンクを追加します。
追加前のソース
<?php endif; ?>
</figure><!-- /.entry-thumb -->
追加ソース
<?php get_template_part('category-link');//カテゴリーリンク?>
追加後のソース
<?php endif; ?>
<?php get_template_part('category-link');//カテゴリーリンク?>
</figure><!-- /.entry-thumb -->
entry-card.phpのデフォルトエントリーカードのサムネイルサイズ設定を変更
entry-card.phpのデフォルトエントリーカードのサムネイルサイズ設定を”thumb150”から先ほど設定した”thumb298”に変更します。
変更前のソース
<figure class="entry-thumb">
<?php if ( is_entry_card_style() ): //デフォルトのエントリーカード表示の場合?>
<?php if ( has_post_thumbnail() ): // サムネイルを持っているとき ?>
<a href="<?php the_permalink(); ?>" class="entry-image entry-image-link" title="<?php the_title(); ?>"><?php the_post_thumbnail( 'thumb150', array('class' => 'entry-thumnail', 'alt' => '') ); ?></a>
<?php else: // サムネイルを持っていない ?>
変更後のソース
<figure class="entry-thumb">
<?php if ( is_entry_card_style() ): //デフォルトのエントリーカード表示の場合?>
<?php if ( has_post_thumbnail() ): // サムネイルを持っているとき ?>
<a href="<?php the_permalink(); ?>" class="entry-image entry-image-link" title="<?php the_title(); ?>"><?php the_post_thumbnail( 'thumb298', array('class' => 'entry-thumnail', 'alt' => '') ); ?></a>
category-link.phpに記事一覧ページ用のカテゴリーリンクを追加
トップページやカテゴリーページなどの記事一覧が表示されるページ用のカテゴリーリンクを追加し、各ページによりカテゴリーリンク表示を変更するように条件分岐を追加します。
追加前のソース
<?php //インデックスページや投稿ページで表示されるカテゴリーリンク
if ( is_category_visible() && //カテゴリを表示する場合
get_the_category() ): //投稿ページの場合?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php the_category('<span class="category-separator">, </span>') ?></span>
<?php endif; //is_category_visible?>
追加ソース①
条件分岐と記事一覧ページ用のカテゴリーリンク表示を追加します。
<?php //インデックスページや投稿ページで表示されるカテゴリーリンク
if ( is_category_visible() && //カテゴリを表示する場合
get_the_category() ): //投稿ページの場合?>
<?php if ( !is_single() && !is_page() ): ?>
<?php $cat = get_the_category(); ?>
<?php $cat = $cat[0]; ?>
<span class="category"><?php echo get_cat_name($cat->term_id); ?></span>
<?php else: ?>
追加ソース②
上記、条件分岐を閉じます。
<?php endif; ?>
追加後のソース
<?php //インデックスページや投稿ページで表示されるカテゴリーリンク
if ( is_category_visible() && //カテゴリを表示する場合
get_the_category() ): //投稿ページの場合?>
<?php if ( !is_single() && !is_page() ): ?>
<?php $cat = get_the_category(); ?>
<?php $cat = $cat[0]; ?>
<span class="category"><?php echo get_cat_name($cat->term_id); ?></span>
<?php else: ?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php the_category('<span class="category-separator">, </span>') ?></span>
<?php endif; ?>
<?php endif; //is_category_visible?>
記事を読むを非表示に設定
STORK(ストーク)テーマでは、記事一覧での記事を読むの表示がないので非表示に設定します。Simplicity(シンプリシティー)テーマでは下記のカスタマイズ項目で簡単に非表示にすることができます。
設定方法
外観->カスタマイズ->テーマ内テキスト->「記事を読む」の変更でデフォルトでは記事を読むが入力されていますが、全て削除してテキストエリア内を空にすることで非表示に設定できます。
日付表示のフォーマットを変更
日付表示のフォーマットもSTORK(ストーク)テーマと同様になるように変更します。有り難いことに今回の変更もSimplicity(シンプリシティー)テーマでは下記のカスタマイズ項目で簡単に変更することができます。
変更方法
外観->カスタマイズ->テーマ内テキスト->日付表示のフォーマットをY.n.jに変更します。
メインカラム右(サイドバー)の幅を336pxに変更
Simplicity(シンプリシティー)テーマでは、デフォルトのサイドバーの幅が”300px”になっており、変更したメインカラムの幅に対して余白が空いてしまい不格好になってます。
簡単に変更できるため、今回のカスタマイズついでに”336px”に変更しておきます。
変更方法
変更方法は2種類あるのでお好みの方で変更してください。
- 外観->カスタマイズ->レイアウト(全体・リスト)->サイドバーの幅を336pxに(デフォルト300px)にチェックをする。
- 下記の追加ソースをスタイルシート(style.css)に追加する。
追加先のメディアクエリ
@media only screen and (min-width: 1166px) {
//この括弧内に追加する
}
追加ソース
#sidebar {
width: 336px;
}
カスタマイズまとめ
今回のカスタマイズにより、メインカラム左(記事一覧)がSTORK(ストーク)テーマのシンプルタイプ風に変わり、サイドバーの幅が336pxになりました。
また、Simplicity(シンプリシティー)テーマの記事一覧リストのスタイルからエントリーカード(デフォルト)に上記のシンプルタイプを割り当てたので今後は外観->カスタマイズ->レイアウト(全体・リスト)->一覧リストのスタイルからエントリーカード(デフォルト)を選択することで切り替えができるようになってます。
次回は、Simplicity(シンプリシティー)テーマの記事一覧リストのスタイルからサムネイル大を選択することで、STORK(ストーク)テーマのカードタイプ風の記事一覧ページになるようにデザインを整えていきます。
Simplicity(シンプリシティー)テーマの元々の機能やソースを流用して、STORK(ストーク)テーマに近づけているため、STORK(ストーク)テーマのソースをそのまま丸ごと利用したりはしておりませんので中身はまったく別物です。
STORK(ストーク)テーマの機能面などを利用したい方はSTORK(ストーク)テーマを購入してご利用ください。