【WordPress】テーマ「マテリアル2」のβがお試し公開しているそうな!

こんにちは。ちゃぼP(@chabo0429)です。

本ブログでは、WordPress用テーマ「マテリアル」をベースにして、なんか色々カスタマイズしちゃっているわけでございますが、この度作者のNobuo(@Nobuo_Create)さんが、後継バージョンの「マテリアル2」を開発され、現在β版の公開をされているそうです。

http://wp-material2.net/

 

うぉ、サイドバーが左に来ているんだ!

かなり見た目が変わりましたね。なお、現在は試用してもらえる人を募集されているようで、色々な声のフィードバック後に正式版を公開されるようですよ。

「風の羅針盤」どうすんの?

で、このブログどうしようということになりますよ。そりゃね。

ただねぇ、かなりいじっちゃってるので、コレをまた最初から作り直すのはかなり根気がいる作業でございまして・・(笑)

今の見た目はかなり気に入って使っていますし、ま、トップページはほとんど変わっちゃっているので、どうなんかなと正直思ってしまっております。。

 

「ハミングバード」みたいな動的なテーマもイイな、なんて最近ちょっと思っていたりします。有料だけどね。

でもそうなるとほとんどオリジナルのカスタマイズは出来なさそうですから、それではつまらないかな、とも思っています。

でも、マテリアルは私のブログの礎ともなっているテーマで、カスタマイズを通して色々なことを学ぶことが出来ました。ファイル数もそれほど多くないし、カスタマイズはし易いテーマなんですよね。

 

ということで、しばらくはこのまま行くと思いますが、今後ともご贔屓に何卒よろしくお願いいたしますm(__)m

【WordPressカスタマイズまとめ!】Simplicityとマテリアルを見やすく、個性的にする13の方法

こんにちは。ちゃぼP(@chabo0429)です。

WordPressのカスタマイズが一段落したので、これまでやったカスタマイズをまとめてみたいと思います。

それぞれの効果も人によっておそらく異なりますし、このままガサっと全部コピーしてしまうと、風の羅針盤のコピーサイトが出来てしまいますので、あくまで機能や目的、サイト全体のデザインバランスをよく検討したうえで、ご利用くださいね!

①Amazonリンク

【WordPress】Amazonリンクのおススメベスト3~TPOに合わせて最適なスタイルを!

アフィリエイトの定番、「Amazonアソシエイツ」。私のようにガジェット系のレビューをする人間にとって、大事なアマゾンへのリンクボックスですが、見た目がイマイチだと魅力も半減。ここはひとつ、魅力的な文章の最後に、ステキなリンクでAmazonへスマートに誘導しましょう!

ということで、goriさんのデザインをはじめ、いくつかのボックスを紹介しています。思えばこの記事から部長との縁が始まった記念すべき記事ですね。

②この記事が気に入ったら「いいね」しよう!ボックス

【WordPress】「この記事が気に入ったら いいね!しよう」を投稿ページに設置する方法

これはままはっくさんの元ネタの記事ですが、マテリアルだと「いいね」をしようとすると、サムネイルが切れてしまうという問題を抱えていたため、少しカスタマイズを加えました。

Simplicityを採用している部長のサイトでも使われています。見た目もイケてますね!

③新着記事には「New!」バッジを表示

【WordPress】WordPress用テーマ「マテリアル」新着記事に「New!」バッジを導入してみたよ

新しい記事は目立たせたい!

ブログ記事は通常、新しい記事から順番に表示されますが、公開したばかりの記事はひと目で「新しい記事」と分かってもらえるとアクセスアップにつながる可能性が高くなります。

ここでは公開後3日間以内の記事に、赤い「New!」バッジを表示させる方法を記載しています。新しい記事を目立たせたい方は是非どうぞ!

④ページ全文の「読むのにかかる時間」を表示

http://www.omoide-soko.jp/apps/wordpress/wordpress/709

本文の長い記事は、忙しい合間に読みにきてくれた人には全部読んでもらえない可能性が高くなります。そんな記事は「Pocket」にクリップしてもらって、あとで読んでもらえるようにするのも親切な設計。

ここではタイトル部分に全文を読む所要時間を「約○分」という形で表示しています。リンクボックスやコードは含まずに計算するので、純粋に「本文」のみの所要時間を表示してくれるので、記事の長さをパッと把握するのに便利ですよ!

⑤「リファラ」を伝えることができる「Celtispack」ブログカード

【WordPress】Celtispackで直接リンク形式のブログカードを作ってリファラを伝えよう

これは主に「マテリアル」に使う感じですが、プラグイン「Celtispack」を使うと、リファラ情報を相手に通知することができます。

「リファラ」とは、どこからサイトに飛んできたのかを示す情報で、例えばこの風の羅針盤に貼られている部長ナビのページへのリンクをクリックすると、部長のGoogleAnalyticsに「風の羅針盤からリンクで飛んできた人がいたよ!」と記録されるので、リンクしていることが相手に通知できるというものです。

Simplicityは、標準で「はてなブログカード」を装備しているので、このプラグインを入れなくても、ブログカードは表示できますが、リンク元が「hatenablog-parts.com」になります。そのため、リンク先のサイト側ではどのサイトからやってきたのかが分かりません。

この「Celticpack」は、リンク元がそのままリンク先に通知されるので、もしかしたらリンク先のブロガーさんに気づいてもらえるかも!?

⑥サムネイル付きページめくり機能

【WordPress】前の記事・次の記事へのサムネイル付きページめくり機能導入記

実は「マテリアル」にはページめくり機能が標準装備されておらず、何かいいものがないかと探していたところ、サムネイル付きのページめくり機能を紹介しているところがありました。

さっそく実装してみたところ、すごくいい感じ!

「直近のページを見たい!」という人には親切なページめくり機能。Simplicityには標準でページめくり機能は実装されていますが、ちょっと人と違った見た目がいい人におススメ。Simplicityでも多分実装できるはずです。試してないですが(笑)

⑦個別記事にシェアカウントを合計して表示

【WordPress】SNSシェア数を合計して表示する方法(マテリアル編)

これは元々部長のオーダーで作った機能ですね。既に部長のページでもお馴染みかと思います。風の羅針盤では個別記事の右上、それから記事下中央のシェアボタン上に表示しています。

プラグイン「SNS Count Cache」を使い、Twitter、Facebook、Pocket、Hatenaでのシェアをカウントしてくれますので、割と簡単に実装できます。これはイチオシです。

⑧トップページの最新記事を大きく目立たせる

【WordPress】トップページで最新記事を大きく表示する方法

これは風の羅針盤のトップページに表示している大きなアイキャッチと、下半分の半透明なタイトルエリアの実装方法です。この記事を書いた時と現在は若干デザインを変えていますので、元記事を修正しました。

テーマのデフォルトですと、ちょっとトップページが寂しかったので、最新記事を大きくした感じですね!

PCでは2記事、モバイルでは1記事のみを大きく表示するようにデザインしました。

⑨カテゴリ一覧固定ページを作成

【WordPress】マテリアルとSimplicityでカテゴリ一覧ページを作成する方法

カテゴリ一覧ページを固定ページとして作成して、それをグローバルメニューに表示しています。

記事がそれなりに多くなってくると、カテゴリをどうやって活かすかも重要になってきますので、簡単にわかりやすくカテゴリページにアクセスできるようにデザインしてみました。

⑩フォロワー数入りTwitter,Feedly,Push7フォローボックスを記事下に設置

【WordPress】記事下にTwitter,Feedly,Push7のフォローボタンを設置する方法

これも一応オリジナルです。プラグイン「SNS Count Cache」がTwitterやPush7に対応したため、それを利用してフォロワー数を表示できるようにしてみました。

フラットなタイル調にまとめてみましたが、色が強いので、サイトを選ぶかもしれませんね。

⑪関連記事をタイル風に並べて表示

【WordPress】関連記事をタイル風に並べて表示〜Simplicity,マテリアルカスタマイズ

これまで関連記事は一番左にアイキャッチ、右に記事タイトルが表示され、それが縦に並ぶ表示方法でした。

これをよりアイキャッチを目立たせ、スクエア風に見やすい関連記事にしてみました。これは部長のサイトでも実装済みです。

⑫カテゴリ別新着記事をヘッダー下に表示

【WordPress】ヘッダー下にカテゴリボックスを並べる方法(Simplicity,マテリアル)

以前は横に3枚でしたが、5枚に増やしました。ここは部長も同じデザインになっています。中の日付などの位置がちょっと違いますが、インパクト絶大です!

暖簾みたいですけどね(笑)

⑬個別記事下にアイキャッチ付きカテゴリリンクボックスを表示

【WordPress】アイキャッチ付きカテゴリリンクを個別記事に表示する(Simplicity,マテリアル)

これも部長のオーダーで実装済みです。アイキャッチがついたカテゴリリンクは、サイトの回遊率アップにとても効果的ですよ!

さいごに

これまで少しずつやってきたカスタマイズをまとめてみました。

改めて見ると、かなりいじってますね(笑)

でもかなり個性的&見やすい状態になっていると思います。

WordPressのデザインに悩んでいる方も多いと思いますが、参考にしていただけると幸いです!

【WordPress】アイキャッチ付きカテゴリリンクを個別記事に表示する(Simplicity,マテリアル)

こんにちは。WordPressカスタマイズにハマっているちゃぼP(@chabo0429)です。

先日この風の羅針盤、それから部長サイトで、個別記事の一番下の部分にアイキャッチ付きのカテゴリページへのリンクが追加されております。

カテゴリをテキストで表示させるだけなら楽なのですが・・・やっぱりそこはアイキャッチ付きのカッコイイリンクの方が見栄えもいいし、分かりやすいですよね。

今日はその方法をご紹介していきます。

「Advanced Custom Fields」プラグインをインストール

通常、カテゴリにアイキャッチ画像は付与することができません。

アイキャッチをカテゴリに付加させるために、まずは「Advanced Custom Fields」というプラグインをインストールします。

インストールとアイキャッチ画像の追加については、以下のサイトに詳しく解説されていますので、参考にしてみてください。

カテゴリーごとに異なるアイキャッチ画像を表示する

single.phpにカテゴリリンクを挿入

プラグインのインストールと、カテゴリへのアイキャッチ画像の追加が完了したら、個別記事のカテゴリページへのリンクを挿入したい部分に、以下のコードを挿入します。

<!--同タグ・同カテゴリー記事を出力-->
<?php

	$tags = get_the_tags();
	$categories = get_the_category();
	$id = get_the_ID();
	$args;


	if($categories){
		$cat_array = array();
		foreach($categories as $category){
			array_push($cat_array, $category->slug);
			if($cats_string)$cats_string .= ",";
			$cats_string .= $category->slug;
		}
	}

	if($tags){
		$tag_array = array();
		foreach($tags as $tag){	
			array_push($tag_array, $tag->slug);
		}

		$args = array(
			'tax_query' => array(
				'relation' => 'OR',
				array(
					'taxonomy' => 'category',
					'field' => 'slug',
					'terms' => $cat_array,
					'include_children' => true,
					'operator' => 'IN'
				),
				array(
					'taxonomy' => 'post_tag',
					'field' => 'slug',
					'terms' => $tag_array,
					'include_children' => false,
					'operator' => 'IN'
				)
			),
			'post__not_in' => array($id),
			'orderby'=>'rand',
			'posts_per_page' => $count
		);
	}else{
		$args = array(
			'category_name' => $cats_string,
			'post__not_in' => array($id),
			'orderby'=>'rand',
			'posts_per_page' => $count
		);
	}

	$the_query = new WP_Query($args);
	if($the_query->post_count > 0){ ?>

		<div class="cat-attention">
		<p>この記事に関連するカテゴリ内の記事はこちら</p>
		</div>
		<?php if($categories){ ?>
			<?php foreach($categories as $category){ ?>
			<div class="same-categories">
				<?php
				// カテゴリーのアイキャッチ画像を表示する
				$image = get_field('category-image', 'category_' . $category->cat_ID);
				?><a href="<?php echo home_url().'/?cat='.$category->cat_ID; ?>"><div class="cat-image-single">
				<?php echo wp_get_attachment_image($image['id']);
				?></div>

				<div class="cat-desc-single">
				<?php echo $category->name; ?>
				</div></a>
			</div>
			<?php } ?>
			<!-- .same-categories -->
		<?php } ?>
	<?php }
?>

ちなみに、このコードだと、カテゴリ名がそのままタイトルに表示されますので、カテゴリの説明を表示させたい場合は、73行目の、

				<?php echo $category->name; ?>

を以下のように変更すると、カテゴリのディスクリプション(説明)を表示させることができます。

				<?php echo $category->category_description; ?>

Category_link01

どちらを表示させるかは、サイトのデザインに合わせて設定してみてください。

ちなみに部長はカテゴリ名を、ちゃぼPはディスクリプションを表示させています。

最後にstyle.cssでデザインを調整

これでソースコードは完成ですので、あとはスタイルシートでデザインを調整します。

.cat-image {
	float: left;
	margin-bottom: 10px;
	margin-right: 10px;
}
.cat-desc {
	margin: 0;
	font-size: 1.5em;
}
.cat-image-single {
	float: left;
	margin-bottom: 0px;
	margin-right: 10px;
}
.cat-desc-single {
	margin-left: 10px;
	font-size: 1.5em;
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.same-categories {
	margin-bottom: 8px;
	width: 100%;
	height: 150px;
	border: 1px solid #ddd;
	float: left;
}
.same-categories a{
	color: #000;
	text-decoration: none;
	display: block;
	height: 100%;
	transition: color .3s;
}
.same-categories a:hover{
	color: #ff0000;
	background-color: #ffffdd;
	text-decoration: none;
}
.cat-attention{
	color: #ffffff;
	background-color: #000000;
	width: 100%;
	height: 30px;
	font-size: 1.3em;
	text-align: center;
	margin-bottom: 5px;
}

これがPC用です。モバイル表示の時は少し文字を小さくしないとはみ出てしまう場合があるので、

@media screen and (max-width: 736px) {

.cat-attention{
	font-size: 0.95em;
}
.cat-desc-single {
	font-size: 1.3em;
}

}

これを追加しています。

完成イメージ

これで完成です。イメージはこちら。

Category_link02

個別記事の最下部に、カテゴリに設定したアイキャッチとディスクリプションが表示されています。

ちなみに、「きょうのちゃぼP」の記事は単一カテゴリにしか属していませんが、

Category_link03

複数カテゴリに属する記事には、その記事が属する複数のカテゴリが縦に並んで表示されます。

 

Category_link04

部長の記事はこんな感じ。ページめくりの前に挿入しています。こちらはカテゴリ名をそのまま表示しています。

一方のモバイル表示はというと、

Category_link05

きちんと文字も小さくなって、綺麗に枠に収まっています。

 

プラグインの導入などもあって、少々手間がかかりますが、カテゴリページへのリンクを目立たせることでサイト内の回遊率アップに実際効果があるようで、カテゴリページへのアクセスが増加していますので、これはいい感じかも!

私の作成したコードは、simplicityとマテリアルで動作していますが、基本的なコードはテーマに左右されないはずなので、試してみてくださいね!

ぜひ試してみてくださいね!

【WordPress】ヘッダー下にカテゴリボックスを並べる方法(Simplicity,マテリアル)

こんにちは。ちゃぼP(@chabo0429)です。

今日のちゃぼPでも触れましたが、トップページのカテゴリ新着ボックスを3つから5つに増やしました。

早速部長も実装して、両サイトともなんだかトップページに暖簾がかかったようになっております(笑)

というわけで、今日はその実装方法をご紹介します。

カテゴリ新着ボックスは、「main」カラム前に挿入すること

これまでのカテゴリ新着ボックスは、メインカラムのトップ部分に挿入していましたが、それだと横に3枚が限界でした。というのも、サイドバーがヘッダーのすぐ下から始まってしまうため、メインカラムの幅しか使えませんでしたので、これを横いっぱいに使えるようにします。

トップページの要素を読み込む順番は、「ヘッダー」→「メイン・サイド」→「メイン」→「サイド」→「フッター」の順番で読み込みます。

そのため、「メイン」にボックスを挿入してしまうと、サイドバーがその前から始まってしまうのです。

そこで、ヘッダーの直後に挿入することにします。

Simplicityの場合は「before-main.php」に挿入

Simplicityの場合は、あらかじめ子テーマの中に「before-main.php」が存在していますので、そこにコードを挿入します。

<?php
//メインカラムの手前に何かを挿入したいときは、このテンプレートを編集
//例えば、3カラムの左サイドバーなどをカスタマイズで作りたいときなどに利用します。
?>

〜ここにコード挿入〜

すごく簡単ですね。よくSimplicityでヘッダー下に画像を挿入しているサイトを見かけますが、ここに入れていたんですね。

マテリアルの場合は「header.php」に挿入

マテリアルの場合はちょっと気をつけなければいけません。トップページを読み込む際には「header.php」→「loop.php」の順番でファイルを読み込みますが、loop.phpを読み込む時には、すでにメインカラムが始まっているので、header.phpに挿入しなければなりません。

(省略)

<script type="text/javascript" src="http://www.google.co.jp/coop/cse/brand?form=cse-search-box&amp;lang=ja"></script>

</div>
</nav>

<div class="main-side">

〜ここにコードを挿入〜

<div class="main">

このように、メインカラムが始まる前にコードを挿入します。

表示部ソースコード

実際にボックスを表示するは両テーマとも同じです。

<?php if ( is_home() || is_front_page() ) : ?>
	<?php if (is_mobile()) :?>
	<?php else: ?>
		<?php if ($paged <= 1): ?>
			<!-- 新着カテゴリ1 -->
			<div class="cat_article1">

			<?php
			    $cat = '(スラッグ名1)';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/category/(スラッグ名1)">カテゴリ1</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail(array(720, 480), array( 'alt' =>$title, 'title' => $title)); ?>
							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
								<p class="postcat1">カテゴリ新着記事</p>
								<span class="cat_text_area"><?php the_title(); ?></span>
								<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>

			<!-- 新着カテゴリ2 -->
			<div class="cat_article2">

			<?php
			    $cat = '(スラッグ名2)';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/category/(スラッグ名2)">カテゴリ2</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail(array(720, 480), array( 'alt' =>$title, 'title' => $title)); ?>
							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
								<p class="postcat1">カテゴリ新着記事</p>
								<span class="cat_text_area"><?php the_title(); ?></span>
								<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>

			<!-- 新着カテゴリ3 -->
			<div class="cat_article3">

			<?php
			    $cat = '(スラッグ名3)';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/category/(スラッグ名3)">カテゴリ3</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail(array(720, 480), array( 'alt' =>$title, 'title' => $title)); ?>
							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
								<p class="postcat1">カテゴリ新着記事</p>
								<span class="cat_text_area"><?php the_title(); ?></span>
								<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>

			<!-- 新着カテゴリ4 -->
			<div class="cat_article4">

			<?php
			    $cat = '(スラッグ名4)';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/category/(スラッグ名4)">カテゴリ4</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail(array(720, 480), array( 'alt' =>$title, 'title' => $title)); ?>
							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
								<p class="postcat1">カテゴリ新着記事</p>
								<span class="cat_text_area"><?php the_title(); ?></span>
								<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>

			<!-- 新着カテゴリ5 -->
			<div class="cat_article5">

			<?php
			    $cat = '(スラッグ名5)';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/category/(スラッグ名5)">カテゴリ5</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail(array(720, 480), array( 'alt' =>$title, 'title' => $title)); ?>
							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
								<p class="postcat1">カテゴリ新着記事</p>
								<span class="cat_text_area"><?php the_title(); ?></span>
								<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>
		<?php endif; ?>
	<?php endif; ?>
<?php endif; ?>

「スラッグ1〜5」はご自分のサイトのカテゴリのスラッグ名に書き換えます。「カテゴリ1〜5」は、ボックスのインデックスに表示させたいカテゴリ名に書き換えます。

style.cssでデザインを整えます

最後に、デザインを整えます。

/* 最新のカテゴリ記事
--------------------------------------------------------- */
.cat_article1 {
	margin:0 0px 15px 0px;
	float: left;
	width: 19.6%;
}
.cat_article2 {
	margin:0 0px 15px 5px;
	float: left;
	width: 19.6%;
}
.cat_article3 {
	margin:0 0px 15px 5px;
	float: left;
	width: 19.6%;
}
.cat_article4 {
	margin:0 0px 15px 5px;
	float: left;
	width: 19.6%;
}
.cat_article5 {
	margin:0 0px 15px 5px;
	float: left;
	width: 19.6%;
}
.cat_article_thumb {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.cat_article1 .anchor {
	padding: 3px 5px;
	display: block;
	color: #fff;
	background: #333;
	font-size: 16px;
	text-decoration: none;
	overflow: hidden;
	*zoom: 1;
	text-align: center;
}
.cat_article1 .anchor:hover, .cat_article1 .anchor:active {
	text-decoration: underline;
}
.cat_article1 .anchor span {
	float: right;
	font-size: 9px;
	background: #fff;
	color: #333;
	padding: 5px 3px;
}
.cat_article1 .thumbnail {
	display: block;
	color: #333;
	background: #fff;
	text-decoration: none;
	line-height: 1.5;
	font-size: 16px;
	position: relative;
	overflow: hidden;
	*zoom: 1;
}
.cat_article1 .thumbnail img {
	width: 100%;
	height: 180px;
	display: block;
}
.cat_article1 .thumbnail:hover {
	color: #e22f26;
	background: #ffffea;
}
.cat_article1 .thumbnail .title {
	padding: 3px;
	height: 70px;
}
.cat_article2 .anchor {
	padding: 3px 5px;
	display: block;
	color: #fff;
	background: #333;
	font-size: 16px;
	text-decoration: none;
	overflow: hidden;
	*zoom: 1;
	text-align: center;
}
.cat_article2 .anchor:hover, .cat_article2 .anchor:active {
	text-decoration: underline;
}
.cat_article2 .anchor span {
	float: right;
	font-size: 9px;
	background: #fff;
	color: #333;
	padding: 5px 3px;
}
.cat_article2 .thumbnail {
	display: block;
	color: #333;
	background: #fff;
	text-decoration: none;
	line-height: 1.5;
	font-size: 16px;
	position: relative;
	overflow: hidden;
	*zoom: 1;
}
.cat_article2 .thumbnail img {
	width: 100%;
	height: 180px;
	display: block;
}
.cat_article2 .thumbnail:hover {
	color: #e22f26;
	background: #ffffea;
}
.cat_article2 .thumbnail .title {
	padding: 3px;
	height: 70px;
}
.cat_article3 .anchor {
	padding: 3px 5px;
	display: block;
	color: #fff;
	background: #333;
	font-size: 16px;
	text-decoration: none;
	overflow: hidden;
	*zoom: 1;
	text-align: center;
}
.cat_article3 .anchor:hover, .cat_article3 .anchor:active {
	text-decoration: underline;
}
.cat_article3 .anchor span {
	float: right;
	font-size: 9px;
	background: #fff;
	color: #333;
	padding: 5px 3px;
}
.cat_article3 .thumbnail {
	display: block;
	color: #333;
	background: #fff;
	text-decoration: none;
	line-height: 1.5;
	font-size: 16px;
	position: relative;
	overflow: hidden;
	*zoom: 1;
}
.cat_article3 .thumbnail img {
	width: 100%;
	height: 180px;
	display: block;
}
.cat_article3 .thumbnail:hover {
	color: #e22f26;
	background: #ffffea;
}
.cat_article3 .thumbnail .title {
	padding: 3px;
	height: 70px;
}
.cat_article4 .anchor {
	padding: 3px 5px;
	display: block;
	color: #fff;
	background: #333;
	font-size: 16px;
	text-decoration: none;
	overflow: hidden;
	*zoom: 1;
	text-align: center;
}
.cat_article4 .anchor:hover, .cat_article4 .anchor:active {
	text-decoration: underline;
}
.cat_article4 .anchor span {
	float: right;
	font-size: 9px;
	background: #fff;
	color: #333;
	padding: 5px 3px;
}
.cat_article4 .thumbnail {
	display: block;
	color: #333;
	background: #fff;
	text-decoration: none;
	line-height: 1.5;
	font-size: 16px;
	position: relative;
	overflow: hidden;
	*zoom: 1;
}
.cat_article4 .thumbnail img {
	width: 100%;
	height: 180px;
	display: block;
}
.cat_article4 .thumbnail:hover {
	color: #e22f26;
	background: #ffffea;
}
.cat_article4 .thumbnail .title {
	padding: 3px;
	height: 70px;
}
.cat_article5 .anchor {
	padding: 3px 5px;
	display: block;
	color: #fff;
	background: #333;
	font-size: 16px;
	text-decoration: none;
	overflow: hidden;
	*zoom: 1;
	text-align: center;
}
.cat_article5 .anchor:hover, .cat_article5 .anchor:active {
	text-decoration: underline;
}
.cat_article5 .anchor span {
	float: right;
	font-size: 9px;
	background: #fff;
	color: #333;
	padding: 5px 3px;
}
.cat_article5 .thumbnail {
	display: block;
	color: #333;
	background: #fff;
	text-decoration: none;
	line-height: 1.5;
	font-size: 16px;
	position: relative;
	overflow: hidden;
	*zoom: 1;
}
.cat_article5 .thumbnail img {
	width: 100%;
	height: 180px;
	display: block;
}
.cat_article5 .thumbnail:hover {
	color: #e22f26;
	background: #ffffea;
}
.cat_article5 .thumbnail .title {
	padding: 3px;
	height: 70px;
}
.cat-update{
	font-size: 0.7em;
	position:absolute;
	top:0px;
	left:0px;
	color: #fff;
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);
}
.cat_text_area {
	padding: 0 4px 0;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	color: #fff;
	font-weight: bold;
	overflow: hidden;
	height: 80px;
	line-height: 20px;
	font-size: 15px;
	text-decoration: none;
	background: rgba(3,3,3,0.6);
	background: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(2,2,2,1.0)));
	background: -moz-linear-gradient(top, rgba(0,0,0,0), rgba(2,2,2,1.0));
	text-shadow: 0 0 5px rgba(0,0,0,1.0);
}
.postcat1 {
	position:absolute;
	top:0px;
	right:0px;
	background-color: #EA3382;
	color: #ffffff;
	display: inline-block;
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
	padding: 0px 10px 0;
}
/* ここまで

ボックスの横幅やマージンはサイトによって微妙に違うと思いますので、適宜調整を。

完成

これでボックスの完成。実際に表示させてみましょう。

categorybox01

横幅もバッチリ合いました!

ある程度のカテゴリが増えてくると、アイキャッチ付きのカテゴリボックスはインパクトもあって、回遊率アップにも効果的・・かなとも思っています(笑)

こんな感じで自由にカスタマイズできるのも、WordPressのいいところです。是非皆さんのサイトもお試しあれ!

【WordPress】関連記事をタイル風に並べて表示〜Simplicity,マテリアルカスタマイズ

こんにちは。ちゃぼP(@chabo0429)です。

WordPressのテーマですが、皆さんは何を使っていますか?

この風の羅針盤ではNobuoさん(@Nobuo_Create)制作のマテリアルを使わせてもらっていますが、かなりカスタマイズしてしまっていて、原型をとどめないほどになってしまいました・・・

トップページなんて、もはやサイドバー以外はほぼオリジナルがありませんが、今のデザインは実は結構お気に入りです(笑)

 

今回はまたまた部長のオーダーが入りまして、個別記事の下部に表示される「関連記事」を変更したいとのこと。

これまではリスト形式の表示で、左側にアイキャッチのサムネイル画像、その右側に記事タイトルならび、これが縦一列になって幾つか表示されていました。

これをgori.me風にしたい!」とのことで、上部にアイキャッチ、下部にタイトルで、これがワンセットになって横に幾つか並ぶ、いわゆるタイル風のデザインにしたいとのこと。

 

かなり大掛かりなデザイン変更となりましたが、基本的にスタイルシートだけの変更でなんとかなりそうだったので、チャレンジしてみました。

部長のブログはわいひらさん(@yhira)制作の「Simplicity」ですので、標準のテーマカスタマイザーで同じようなデザインに変更することは可能です。ただ、ちょっと枠線がなかったり、タイトル文字が大きかったりと微調整が必要な部分があり、モバイル表示もちょっと崩れてしまっていたので、以下のようにカスタマイズしてみました。

1-1.【Simplicity】PC表示用コードをstyle.cssへ追記

まずは、PC表示用のデザインを整えます。こちらはSimplicity用のコードです。

/* 関連記事をタイル調へ変更 */
.related-entry-title a {
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    display: block;
    height: 120px;
    width: 210px;
}

.related-entry-thumbnail {
    text-align: left;
    margin-bottom: 15px;
    margin-left: 5px;
    margin-right: 5px;
    width: 213px;
    height: 310px;
    border: 1px solid #ddd;
    float: left;
}

.related-entry-thumbnail img {
    width: 213px;
    height: 200px;
    margin-bottom: 0;
}

.related-entry-thumbnail .related-entry-content {
    font-size: 0.9em;
}

.related-entry-thumbnail .related-entry-content a {
    font-size: 0.8em;
}

.related-entry-thumbnail .related-entry-content {
    margin: -15px 0px 0;
}

.related-entry-thumbnail .related-entry-content:hover {background-color:#ffffe1;}

ここでは、

  • テキストの左寄せ(中央寄せ解除)
  • 画像・テキストボックスの位置調整
  • テキストのフォントサイズ変更
  • マウスオーバー時の背景色の設定とボックス全体をリンク化
  • 枠線の設定

を行っています。これでPC表示での関連記事は以下のようになります。

関連記事01

今回は横3列、縦2列の配置としました。キレイに揃いましたね。

続いて、モバイル表示の調整を行います。

1-2.【Simplicity】モバイル表示用コードをstyle.cssへ追記

モバイルの表示は、PC用のデザインをそのまま使うと表示が崩れるので、モバイル専用のデザインを設定します。ちなみに、アクセス端末がモバイルか否かは、表示画面の幅で決まります。

@media screen and (max-width: 736px) {
.related-entry-title a {
    text-decoration: none;
    font-size: 13px;
    color: #333;
    width: 100%;
    height: 90px;
}

.related-entry-thumbnail .related-entry-content {
    margin: -15px 0px 0;
}

.related-entry-thumbnail {
    text-align: left;
    width: 46.6%;
    height: 240px;
    margin-left: 5px;
    margin-right: 5px;
    float: left;
    border: 1px solid #ddd;
    margin-bottom: 10px;
    line-height: 1.4;
    overflow: hidden;
}

.related-entry-thumbnail img {
    width: 200px;
    height: 150px;
}
}

@media screen and (max-width: 359px) {
#related-entries .related-entry-thumbnail {
    margin: 0 3px 0  !important;
    width: 46.6%  !important;
    margin-bottom: 1em  !important;
    height: 240px  !important;
}
}

ここでは、media screenのmax-widthプロパティを使って、表示する画面の横ピクセル数が「736px以下の場合」「359px以下の場合」の2パターンを設定します。

この「736px」は、iPadよりも小さい端末で適用されます。一般的な中型〜大型のスマホはここに含まれます。

「359px」については、iPhoneSEなどの4インチ以下の端末用です。

これを適用することで、モバイル表示はこんな感じでになります。

関連記事03

モバイル表示は、横幅が狭いので、横2列、縦3列としました。ちなみに特別なことはやっておらず、サイズと間隔の調整のみです。

2-1.【マテリアル】PC表示用コードをstyle.cssへ追記

ここでは、風の羅針盤のテーマ「マテリアル」用のカスタムコードを紹介します。

まずはPC表示用から。

.kanren .thumb-box{
	max-width: none;
	height: 150px;
	width: 200px;
	float: none;
}
.kanren ul a{
	color: #000;
	text-decoration: none;
	display: block;
	height: 250px;
	transition: color .3s;
}
.kanren ul a:hover{
	color: #ff0000;
	background-color: #ffffdd;
	text-decoration: none;
}
.kanren ul li {
	margin-left: 7px;
	margin-right: 7px;
	width: 200px;
	height: 250px;
	border: 1px solid #ddd;
	float: left;
}
.kanren-post-name {
	font-size: 0.9em;
}

やっていることはSImplicity版と同じです。出来上がりはこうなります。

関連記事02

文字の大きさは、Simplicity版より若干大きく、サムネイルを横長にしてみました。

追加でマウスオーバー時に「徐々に文字色が変化」するフェード効果を足しています。

それ以外は同じデザインです。続いてモバイル表示に進みます。

2-2.【マテリアル】モバイル表示用コードをstyle.cssへ追記

Simplicity版と同じで、ここでも端末の736pxの横幅表示をモバイルの判断材料とします。

@media screen and (max-width: 736px) {
.kanren .thumb-box {
    max-width: none;
    height: 100px;
    width: 100%;
    float: none;
}
.kanren-post-name {
	font-size: 0.8em;
}
.kanren ul li {
	width: 46.6%;
	height: 200px;
	margin-left: 5px;
	margin-right: 5px;
}
}

これをstyle.cssに追加します。

関連記事04

出来上がりはこんな感じになります。ここでもサムネイルは横長表示です。

イイ感じに仕上がりました!!

さいごに

部長オーダーのテーマ改造計画でしたが、WordPressの改造は結構楽しいものです。

また、Simplicityはかなりたくさんのブログで採用しているテーマだと思いますので、改造することで個性が強調されますし、是非オススメです。

Simplicity、マテリアルを使用しているサイトでしたら、すぐに使えると思いますので、参考にしてみてください!

ご自身のサイトで使われる際は是非フォロー・コメントいただけると嬉しいです!!

部長ナビのページ・gori.meもヨロシクね!

↓ちゃぼPがスタッフを務める部長のサイト。最近彼は「発注」という言葉をよく使うが、金銭的な絡みは全くない。盛岡名物である「冷麺にわんこそばつける」が調子に乗っている最近の部長の口グセ。

http://nabi1080.com/

↓部長が敬愛する師匠「g.O.R.i」さんのサイト。月間400万PVを超える巨大サイト。デザイン面で大いに参考にさせていただいている。とても見やすいサイトでスッキリしている。素晴らしい!

http://gori.me/

【WordPress】マテリアルとSimplicityでカテゴリ一覧ページを作成する方法

こんにちは。ちゃぼP(@chabo0429)です。

私のサイトではマテリアルというテーマを使っていますが、このテーマは、カテゴリごとにボックスが並ぶスタイルになっているので、各カテゴリの最新記事がトップページで確認できるようになっています。

category_page07

 

WordPressでカテゴリ一覧を参照するには、以下のように、サイドバーにウィジェットを追加すれば簡単ですね。

category_page05

ただ、これだと画面をスクロールしないと出てこないので、記事やカテゴリが多くなってくると大変です。

そこで、グローバルメニューから、カテゴリ一覧を呼び出せるように、一つ固定ページを作成して、そこにカテゴリを表示させることにしました。

ただ、カテゴリ一覧だけを表示させても下がスカスカになってしまうので、私の場合は、カテゴリ選択ボタンの下にトップページと同じ、カテゴリ一覧のページを表示させるようにしてみました。

 

ちなみに、これも例によって部長のオーダーが発端でございます(笑)

なんか、私のサイトは部長オーダーで作ったデザインを逆輸入して実装するというスタイルが定着しつつあります。

フツー逆だよね(^◇^;)

まず、カテゴリページ(phpファイルを作成)

まず最初に、ローカル上でカテゴリ一覧表示用のページを作成します。

名前は何でもいいですが、「cat_all.php」としておきます。

<?php
/*
 Template Name: Category All
 */
?>

<?php get_header() ?>
<div class="sibling">
	<div class="siblingTitle">ジャンル・カテゴリの一覧です</div>
	<ul style="list-style: none;">
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/pc">PC</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/pc/windows">Windows</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/pc/macbook">MacBook</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/iphone">iPhone</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/wordpress">WordPress</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/camera">カメラ</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/netgear_readynas">ReadyNAS</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/gallery">フォトギャラリー</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/gourmet">グルメ</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/timepiece">TimePiece</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/devices">Devices</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/fashions">Fashions</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/sale">セール情報</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/rensai">連載</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/rensai/anthology">アンソロジィ</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/rensai/tanpen">エッセイ</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/rensai/column">コラム</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/rensai/hiraku">ひらくPCバッグminiが教えてくれた新世界</a></li>
		<li><a href="http://www.omoide-soko.jp/apps/wordpress/category/rensai/aibou">俺の相棒</a></li>
	</ul>
</div>

<?php get_template_part("cat_lists") ?>
<?php get_sidebar() ?>
<?php get_footer() ?>

上記は、「マテリアル」での使用例ですが、部長の使う「simplicity」の場合は、最下部の3行を、

<?php get_template_part("list") ?>
<?php get_footer() ?>

とすればOKです。

これを、FTPでサーバにアップロードします。

category_page01

子テーマフォルダ内にアップしてください。

管理画面で「固定ページ」を作成

次にWordPress管理画面で固定ページを作ります。

「固定ページ」から「新規追加」を選択します。

category_page06

 

ここで「ページタイトル」の入力、「パーマリンク」の編集を行います。

category_page03

パーマリンクは、カテゴリ一覧ページのURLになります。既存のものを重複しないよう注意してください。

次に、「テンプレート」を先ほどアップロードしたファイルに設定します。

category_page02

今回は「Category All」がそのファイルです。

 

category_page04

本文は特に入力する必要はありません。そのまま「公開」をクリックします。

グローバルメニューで有効化

これでページができました。グローバルメニューに追加してみましょう。

category_page08

「メニュー」を開き、「カテゴリ一覧」にチェックを入れ、「メニューに追加」したら、右側メニュー構造部分で「カテゴリ一覧」をドラッグして表示させたいところに移動させます。

最後に「メニューを保存」をクリックします。

あとがき。

これで完成ですが、あとはstyle.cssでデザインを揃えればOKです。

完成形はこんな感じです。

category_page09

ちなみに、これはgori.meさんのデザインを参考にしています。

http://gori.me/

そのため、style.cssを載せるのは控えますが、今回この各カテゴリのボタンを表示しているのは、

<div class="sibling">

という要素になりますので、いろいろとデザインを考えてみてくださいね!

【WordPress】 サムネイル付きカテゴリ別新着記事をトップページに表示する〜マテリアル編

こんにちは。ちゃぼPです。

このサイトでは、WordPressテーマ「マテリアル」を使用しています。

先日より、トップページのデザインが大きく変わっていますが、カテゴリ別のサムネイル付き新着記事を三つ並べてみました。

先に最新の記事を大きく表示するようにしたのですが、

【WordPress】トップページで最新記事を大きく表示する方法

カテゴリ別は、目立たせたいカテゴリだけをピックアップして目立たせることを目的としました。

今日はその方法をご紹介します!

元々の要望は、部長ナビのページ

私ちゃぼPは、昨年末に部長ナビさんから「カテゴリ別の新着記事を表示したいんだよねー」と要望を貰いまして、いろいろと調べながらの作業でした。

【DIY】トップページにサムネ付きカテゴリ別新着記事を実装する・・・作業中(笑)

部長ナビのページはカテゴリーが多いので、6個のカテゴリーを表示するようにしています。ってか、本当は6個でも足りないくらいページ数が多いっすね。

http://nabi1080.com/management/wordpress/49875

私のサイトはページ数も少ないですから、三つにしています。

「loop.php」を編集する

まず、子テーマ内に、「loop.php」が存在しない場合は、子テーマ内にファイルをコピーしてから編集しましょう。

挿入するコードは、以下のようになります。

	<?php if ($paged <= 1): ?>

		<?php if ($counter <= 1): ?><!-- 最初の記事判別 -->

			<!-- 新着カテゴリ1 -->
			<div class="cat_article1">

			<?php
			    $cat = 'pc';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/apps/wordpress/pc">PC</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail(array(640, 480), array( 'alt' =>$title, 'title' => $title)); ?>

							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
							<p class="postcat1">最新記事</p>
							<span class="cat_text_area"><?php the_title(); ?></span>
							<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>

			<!-- 新着カテゴリ2 -->
			<div class="cat_article2">

			<?php
			    $cat = 'iphone';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/apps/wordpress/iphone">iPhone</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail(array(640, 480), array( 'alt' =>$title, 'title' => $title)); ?>
							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
							<p class="postcat1">最新記事</p>
							<span class="cat_text_area"><?php the_title(); ?></span>
							<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>

			<!-- 新着カテゴリ3 -->
			<div class="cat_article3">

			<?php
			    $cat = 'wordpress';
			    $num = '1';
			    global $post;
			 
			    $term_id = get_category_by_slug($cat)->term_id;
			    $myposts = get_posts('numberposts=' .$num. '&category_name=' .$cat);
				if ($myposts) {
					foreach($myposts as $post):
			        		setup_postdata($post);
			?>
						<a class="anchor" href="/apps/wordpress/wordpress">WordPress</a>
						<a class="thumbnail" href="<?php the_permalink() ?>">
						<div class="cat_article_thumb">
							<?php if(has_post_thumbnail()){ ?>
								<?php $title= get_the_title(); the_post_thumbnail('large', array( 'alt' =>$title, 'title' => $title)); ?>
							<?php }else{ ?>
						               <i class="ico-camera-alt"></i>
							<?php } ?>
							<p class="postcat1">最新記事</p>
							<span class="cat_text_area"><?php the_title(); ?></span>
							<span class="cat-update"><span class="lsf">time </span><?php the_time('Y/m/d') ?></span>
						</div>
						</a>
			<?php
					endforeach;
			?>
				<?php }else{ ?>
				    <p>記事がありません</p>
				<?php } ?>
			</div>
			
		<?php else:?>

			<?php if($count == $row_new*3+1 && !is_paged() && is_home()){ echo "<div class='hide'>"; } ?>
			<div class="post<?php if($count%2==0){echo ' col-2';} if($count%3==0){echo ' col-3';} ?>">
			<div class="thumb-box sub-color-background">

			<?php if(has_post_thumbnail()){ ?>
				<a href="<?php the_permalink() ?>">
				<?php $title= get_the_title(); the_post_thumbnail(array(400, 400), array( 'alt' =>$title, 'title' => $title)); ?>
				</a>
			<?php }else{ ?>
				<a href="<?php the_permalink() ?>" class="no-deco">
				<div class="no-thumbnail"><p>No thumbnail</p></div>
				</a>
			<?php } ?>

			</div><!-- .thumb-box -->
			<div class="post-info">
			<p class="up-date"><span class="lsf">time </span><?php
	the_time('Y/m/d') ?></p>
			<?php
			$days = 3;
			$today = date_i18n('U');
			$entry = get_the_modified_date('U');
			$news = date('U',($today - $entry)) / 86400 ;
			if( $days > $news ){ print '<p style="text-align: right;"><span class="back-red" style="color: #ffffff;">New!</span></p>'; }
			?>
			<h3 class="post-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
			<?php get_template_part("sns_count") ?>
			<p class="cat-link"><span class="lsf cat-folder">folder </span><?php the_category(' ') ?></p>
			</div><!-- .post-info -->
			</div><!-- .post -->
			<?php
			if($count==6){ ?>

			<?php }
			if($count%2==0){echo "<div class='clear2'></div>";}
			if($count%3==0){echo "<div class='clear3'></div>";}
			$count++;
			?>

		<?php endif;?><!-- /最初の記事判別 -->
		
	<?php else:?>

		<?php if($count == $row_new*3+1 && !is_paged() && is_home()){ echo "<div class='hide'>"; } ?>
		<div class="post<?php if($count%2==0){echo ' col-2';} if($count%3==0){echo ' col-3';} ?>">
		<div class="thumb-box sub-color-background">

		<?php if(has_post_thumbnail()){ ?>
			<a href="<?php the_permalink() ?>">
			<?php $title= get_the_title(); the_post_thumbnail(array(400, 400), array( 'alt' =>$title, 'title' => $title)); ?>
			</a>
		<?php }else{ ?>
			<a href="<?php the_permalink() ?>" class="no-deco">
			<div class="no-thumbnail"><p>No thumbnail</p></div>
			</a>
		<?php } ?>

		</div><!-- .thumb-box -->
		<div class="post-info">
		<p class="up-date"><span class="lsf">time </span><?php
the_time('Y/m/d') ?></p>
		<?php
		$days = 3;
		$today = date_i18n('U');
		$entry = get_the_modified_date('U');
		$news = date('U',($today - $entry)) / 86400 ;
		if( $days > $news ){ print '<p style="text-align: right;"><span class="back-red" style="color: #ffffff;">New!</span></p>'; }
		?>
		<h3 class="post-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
		<?php get_template_part("sns_count") ?>
		<p class="cat-link"><span class="lsf cat-folder">folder </span><?php the_category(' ') ?></p>
		</div><!-- .post-info -->
		</div><!-- .post -->
		<?php
		if($count==6){ ?>

		<?php }
		if($count%2==0){echo "<div class='clear2'></div>";}
		if($count%3==0){echo "<div class='clear3'></div>";}
		$count++;
		?>

	<?php endif; ?>

new_category

上の図のように、

  • カテゴリスラッグ名
  • カテゴリトップのURL
  • カテゴリ表示名

を自分のサイトに合うように変更します。

スラッグ名は、「投稿」–「カテゴリー」から調べられます。

new_category1

なお、上記の例では、ページネーション機能によるトップページのページ送り2ページ目以降では表示させないようにしています。

1ページ目

新着カテゴリ

2ページ目以降

新着カテゴリ

モバイルでは表示しない設定

モバイル表示ではこのボックスは表示しないようにします。

function.phpへのモバイル定義の記述がされていない場合は、以下のページを参考に記載を行います。

【WordPress】テーマ「マテリアル」のスマホ画面をスケルトンに!

先ほど挿入したコードを、下記の「ここに上のコードが入る」の部分に挿入します。

<?php if (is_mobile()) :?>

	<?php if($count == $row_new*3+1 && !is_paged() && is_home()){ echo "<div class='hide'>"; } ?>
	<div class="post<?php if($count%2==0){echo ' col-2';} if($count%3==0){echo ' col-3';} ?>">
	<div class="thumb-box sub-color-background">
	<?php if(has_post_thumbnail()){ ?>
		<a href="<?php the_permalink() ?>">
		<?php $title= get_the_title(); the_post_thumbnail(array(720, 480), array( 'alt' =>$title, 'title' => $title)); ?>
		</a>
	<?php }else{ ?>
		<a href="<?php the_permalink() ?>" class="no-deco">
		<div class="no-thumbnail"><p>No thumbnail</p></div>
		</a>
	<?php } ?>
	</div><!-- .thumb-box -->
	<div class="post-info">
	<p class="up-date"><span class="lsf">time </span><?php the_time('Y/m/d') ?></p>
	<?php
	$days = 3;
	$today = date_i18n('U');
	$entry = get_the_modified_date('U');
	$news = date('U',($today - $entry)) / 86400 ;
	if( $days > $news ){ print '<p style="text-align: right;"><span class="back-red" style="color: #ffffff;">New!</span></p>'; }
	?>
	<h3 class="post-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
	<?php get_template_part("sns_count") ?>
	<p class="cat-link"><span class="lsf cat-folder">folder </span><?php the_category(' ') ?></p>
	</div><!-- .post-info -->
	</div><!-- .post -->

	<?php
	if($count==6){ ?>
		
	<?php }
	if($count%2==0){echo "<div class='clear2'></div>";}
	if($count%3==0){echo "<div class='clear3'></div>";}
	$count++;
	?>

<?php else: ?>

ーーここに上のコードが入るーー

<?php endif; ?>

style.cssへ追記

次にstyle.cssへの追記です。

/* 最新のカテゴリ記事
--------------------------------------------------------- */
.cat_article1 {
	margin:0 5px 20px 0px;
	float: left;
	width: 32%;
}

.cat_article2 {
	margin:0 8px 20px 8px;
	float: left;
	width: 32%;
}

.cat_article3 {
	margin:0 0px 20px 5px;
	float: left;
	width: 32%;
}

.cat_article_thumb {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.cat_article1 .anchor {
  padding: 3px 5px;
  display: block;
  color: #fff;
  background: #333;
  font-size: 16px;
  text-decoration: none;
  overflow: hidden;
  *zoom: 1;
  text-align: center;
}

.cat_article1 .anchor:hover, .cat_article1 .anchor:active {
  text-decoration: underline;
}

.cat_article1 .anchor span {
  float: right;
  font-size: 9px;
  background: #fff;
  color: #333;
  padding: 5px 3px;
}

.cat_article1 .thumbnail {
  display: block;
  color: #333;
  background: #fff;
  text-decoration: none;
  line-height: 1.5;
  font-size: 16px;
  position: relative;
  overflow: hidden;
  *zoom: 1;
}

.cat_article1 .thumbnail img {
  width: 100%;
  height: 150px;
  display: block;
}

.cat_article1 .thumbnail:hover {
  color: #e22f26;
  background: #ffffea;
}

.cat_article1 .thumbnail:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

.cat_article1 .thumbnail .title {
  padding: 3px;
  height: 70px;
}

.cat_article2 .anchor {
  padding: 3px 5px;
  display: block;
  color: #fff;
  background: #333;
  font-size: 16px;
  text-decoration: none;
  overflow: hidden;
  *zoom: 1;
  text-align: center;
}

.cat_article2 .anchor:hover, .cat_article2 .anchor:active {
  text-decoration: underline;
}

.cat_article2 .anchor span {
  float: right;
  font-size: 9px;
  background: #fff;
  color: #333;
  padding: 5px 3px;
}

.cat_article2 .thumbnail {
  display: block;
  color: #333;
  background: #fff;
  text-decoration: none;
  line-height: 1.5;
  font-size: 16px;
  position: relative;
  overflow: hidden;
  *zoom: 1;
}

.cat_article2 .thumbnail img {
  width: 100%;
  height: 150px;
  display: block;
}

.cat_article2 .thumbnail:hover {
  color: #e22f26;
  background: #ffffea;
}

.cat_article2 .thumbnail:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

.cat_article2 .thumbnail .title {
  padding: 3px;
  height: 70px;
}

.cat_article3 .anchor {
  padding: 3px 5px;
  display: block;
  color: #fff;
  background: #333;
  font-size: 16px;
  text-decoration: none;
  overflow: hidden;
  *zoom: 1;
  text-align: center;
}

.cat_article3 .anchor:hover, .cat_article3 .anchor:active {
  text-decoration: underline;
}

.cat_article3 .anchor span {
  float: right;
  font-size: 9px;
  background: #fff;
  color: #333;
  padding: 5px 3px;
}

.cat_article3 .thumbnail {
  display: block;
  color: #333;
  background: #fff;
  text-decoration: none;
  line-height: 1.5;
  font-size: 16px;
  position: relative;
  overflow: hidden;
  *zoom: 1;
}

.cat_article3 .thumbnail img {
  width: 100%;
  height: 150px;
  display: block;
}

.cat_article3 .thumbnail:hover {
  color: #e22f26;
  background: #ffffea;
}

.cat_article3 .thumbnail:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

.cat_article3 .thumbnail .title {
  padding: 3px;
  height: 70px;
}

.cat-update{
	font-size: 0.7em;
	position:absolute;
	top:0px;
	left:0px;
	color: #fff;
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);
}

.cat_text_area {
  padding: 4px 4px 0;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  color: #fff;
  font-weight: bold;
  overflow: hidden;
  height: 80px;
  line-height: 20px;
  font-size: 15px;
  text-decoration: none;
  background: rgba(3,3,3,0.6);
  background: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(2,2,2,1.0)));
  background: -moz-linear-gradient(top, rgba(0,0,0,0), rgba(2,2,2,1.0));
  text-shadow: 0 0 5px rgba(0,0,0,1.0);
}

.postcat1 {
	position:absolute;
	top:0px;
	right:0px;
	background-color: #EA3382;
	border:1px solid #fff;
	color: #ffffff;
	display: inline-block;
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
	padding: 2px 15px 0;
}

/* ここまで

これで完成です。

上記の例はマテリアルでの実装例ですが、トップページを表示するテンプレートに記載すれば、特にマテリアルだけではなく実装できると思います。

カテゴリを目立たせたい方は、試してみてくださいね!

【WordPress】Twitterカウント復活!代替APIがあったよ!

11月20日をもって、Twitterの非公式APIである「count.json」が終了して3日。

Twitter:ツイート数取得API「count.json」提供終了のお知らせ

このサイトでは、テーマ「マテリアル」に暫定措置を施して非表示にしていたのですが、

http://www.omoide-soko.jp/apps/wordpress/wordpress/1329

なんと代替のAPIがあることがわかりました。

まだ3日しか経過してないのにね^^;

代替のAPIである「coount.jsoon」

代替のAPIはdigitiminimiという会社がリリースしたAPIのようです。

http://digitiminimi.com/

まずは、ユーザー登録

このAPIを利用するにはサイトとメールアドレスを登録する必要があります。

http://jsoon.digitiminimi.com/

こちらでサイトのURLとメールアドレスを登録します。

しばらくすると「登録完了メール」送られてくるので、記載されているURLにアクセスしてください。

Twitterアカウントを連携するリンクが表示されるので、「連携する」をクリックすれば完了です。

twitter1

収集済みのツイートカウント数が表示されています。サイト全体をクロールするまでにはちょっと時間がかかりそうです。

「SNS Count Cache」を編集

このサイトではプラグイン「SNS Count Cache」を利用していますので、このプラグインのクロール先URLを新しいURLへ変更します。

修正前のAPIのURL

http://urls.api.twitter.com/1/urls/count.json

 

修正後のAPIのURL

http://jsoon.digitiminimi.com/twitter/count.json

class-share-crawler.phpを編集

プラグインのクロール用ファイルに上記の修正を加えます。

ファイルパス:(サイトの場所)/wp-content/plugins/sns-count-cache/includes
ファイル名 :class-share-crawler.php

このファイルの155行目のURLを変更します。

		  if ( isset( $target_sns[SNS_Count_Cache::REF_SHARE_TWITTER] ) && $target_sns[SNS_Count_Cache::REF_SHARE_TWITTER] ) {
	 /* 			$query_urls[SNS_Count_Cache::REF_SHARE_TWITTER] = 'http://urls.api.twitter.com/1/urls/count.json?url=' . $url;*/
	  			$query_urls[SNS_Count_Cache::REF_SHARE_TWITTER] = 'http://jsoon.digitiminimi.com/twitter/count.json?url=' . $url;
		  }

こんな感じで旧URLの1行ををコピーしてコメントアウトした上で新しいURLの行を追記するといいでしょう。

あ、編集の前にはバックアップを取っておくことを忘れずに。

終わったら上書き保存します。これで編集は完了です。

Twitterの収集を有効化

前回のcount.jsonの閉鎖に伴って、プラグインの「SNS Count Cache」のTwitterの収集を無効にしていたのですが、これを復活させます。

twitter2

コントロールパネルの「SNS Count Cache」-「設定」からTwitterのチェックボックスを入れて保存します。

twitter3

サイト全体の収集には時間がかかるので、「0」が多いですが、これはしばらくすると上がってくるかな・・
元々0なのも多いというのは内緒ですけど^^;

テーマに加えた修正を元に戻す

ブラグインに対する修正と設定は完了したので、フロントページに表示を復活させてみましょう。

「マテリアル」親テーマファイルである、

  • sns_count.php
  • share.php

を元に戻します。

sns_count.php

<?php if(function_exists('get_scc_twitter')){ ?>
	<p class="share-count-top"><span class="lsf twitter">twitter </span><?php echo get_scc_twitter() ?></p>
<?php } ?>

<?php if(function_exists('get_scc_facebook')){ ?>
	<p class="share-count-top"><span class="lsf fb">facebook </span><?php echo get_scc_facebook(); ?></p>
<?php } ?>

<?php if(function_exists('get_scc_hatebu')){ ?>
	<p class="share-count-top"><span class="lsf hatebu">hatenabookmark </span><?php echo get_scc_hatebu(); ?></p>
<?php } ?>

<?php if(function_exists('get_scc_pocket')){ ?>
	<p class="share-count-top"><span class="icon-pocket"></span><?php echo get_scc_pocket() ?></p>
<?php } ?>

Twitterの部分をコメントアウトしていたので、それをを外します。せっかくなので、Pocketはそのままにしておきましょう。

share.php

<!-- twitter -->

<?php
$count_blind_twitter = False;
if(!function_exists('scc_get_share_twitter')){
	$count_blind_twitter = true;
}
if($is_scc_old_version && !is_singular()){
	$count_blind_twitter = true;
}
if(!$is_scc_old_version && !is_singular() && !is_front_page()){
	$count_blind_twitter = true;
}
?>

<div class="share-count-button">
<a class="no-deco" target="_blank" href="https://twitter.com/intent/tweet?url=<?php echo $url_encoded ?>&text=<?php echo $title_encoded; if(get_option("mention")){echo "&via=".get_option("twitter_account");} ?>">
<p class="share-button twitter lsf" style="<?php if($count_blind_twitter){ ?>line-height:55px; font-size:2.2em;<?php } ?>">twitter</p>
</a>
<?php if(function_exists('scc_get_share_twitter')){
	if(is_singular()){ ?>
		<p class="share-count"><?php echo scc_get_share_twitter(); ?></p>
	<?php }else if(is_front_page() && !$is_scc_old_version){ ?>
		<p class="share-count"><?php echo scc_get_share_twitter(array( post_id => 'home' )); ?></p>
	<?php } ?>
<?php } ?>
</div>

4行目のTrueをFalseに、20-26行目のコメントアウトを外します。

これで元に戻るはずです。

マテリアルは「SNS Count Cache」を使っているので、こういった場合も簡単に変更できて素晴らしいですね!

しばらく、これでうまくいくかを様子を見ていきたいと思います。

参考記事

http://creatorclip.info/2015/11/sns-count-cache-count-jsoon-tweet/

【WordPress】テーマ「マテリアル」のスマホ画面をスケルトンに!

WordPressのテーマを「マテリアル」に変更してしばらく経ちましたが、このテーマは見た目もすっきりしていて本当に見やすいですね。

このテーマの特徴の一つに、画面のサイズに応じて、メインカラムの列数が

3列+サイドバー→3列→2列→1列

となる機能があります。

列数が少なくなると、その分の列が下へ回り込む設計になっているので、見ている端末の画面サイズに応じて、最適な文字や画像の大きさを保ちながら、じっくりサイトを見ることが出来ます。

 

ただ、私がシミッタレなせいもあって、できるだけ多くの情報を表示させたいがあまり、サイドバーに多くのウィジェットを置いたり、一度に表示させる記事数を削れなかったりしてしまうという悲しい状況に・・・

すると、特にスマートフォンで閲覧する場合はかなりの量スクロールをしないと、画面の下の方を表示することが出来ず、なんとか出来ないかなあ、と考え試行錯誤していたのですが、

これは結構いいんじゃね?

と思える表示ができたので、ご紹介します。

 

新着記事のボックスを半透明にして、文字をアイキャッチの上に表示

スマホ用のサイトでは、画面上半分にアイキャッチ画像、下半分にタイトルや日付が入っています。

このサイトでは、

スマホ用ビュー1

こんな感じです。ちなみに、赤い「New!」バッジはコレも私でつけたものなので、こちらを参考に。

 

画面はiPhone6ですが、一度に表示できる領域は記事一つ半分ほどです。

ここで、ちょうど半分のアイキャッチ分の大きさのボックスに、文字を被せて表示することは出来ないか調べてみました。

そうすれば単純に専有する場所が単純に考えて半分になり、その分縦のスクロールを短く出来ます。

 

ただ、これはスマホで表示させた時に限ります。画面の大きなパソコンやタブレットではあまり意味が無いですし、デザインを崩してしまいかねませんから、ここも工夫が必要ですね。

 

style.cssにスマホ用の記述が出来る!!

そうなんです。このテーマはスマホ表示時にだけ適用されるスタイルシートが書けるのです。ほんとうに便利!

「外観」-「テーマの編集」から、style.cssを開いて、

@media screen and (max-width: 450px) {

と記載されている部分を探します。

この下の部分に、以下のコードを貼り付けます。

.post{
	width: 100%;
	float: none;
	margin-right: 0;
	position: relative;
}

.post-info{
	width: 100%;
	padding: 0px;
	position: absolute;
	bottom: 0px;
	color: white;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), to(#000)); /* Safari,Google Chrome用 */  
	padding: 20px;  
}

.up-date{
	font-size: 0.8em;
	color: #fff;
	float: left;
	text-shadow:2px 2px 3px rgba(0,0,0,1);
}

.post-title{
	color: #fff;
	font-size: 1.0em;
	font-weight: bold;
	padding: 3px 0 0;
	line-height: 1.5;
	clear: both;
	text-shadow:2px 2px 3px rgba(0,0,0,1);
}

.post-title a{
	color: #fff;
	text-decoration: none;
}

.content-header .up-date,
.content-header .cat-link{
	text-align: right;
	float: none;
	font-size: 0.8em;
	color: #666;
	text-shadow: initial;
}

.min-box .post{
	width: initial;
	float: initial;
	margin-right: initial;
	position: initial;
}

.min-box .post-info{
	padding: initial;
	position: initial;
	bottom: initial;
	color: initial;
	background: initial;
}

.min-box .up-date{
	font-size: 0.7em;
	color: initial;
	float: initial;
	text-shadow: initial;
}

.min-box .post-title{
	color: initial;
	font-size: 0.8em;
	font-weight:initial;
	padding: initial;
	line-height: initial;
	clear: initial;
	text-shadow:initial;
}

.min-box .post-title a{
	color: initial;
	text-decoration: initial;
}

たったこれだけです。

ここでやっていることは、

  1. ボックス内の文字の大きさの調整
  2. アイキャッチの上に文字を被せるため、画像にグラデーションをかけ、下から上に向かって明るくなるようにし、且つ透明にする
  3. 被せる文字をホワイト色にし、シャドウ(影)をつける
  4. 新着記事の下にあるカテゴリボックス内の記事の文字の再定義

です。こうすることで、このような表示になりました。

スマホ用ビュー2

う~ん、いい感じ(笑)

だいぶ感じが変わりますね。

同時に一度に表示される記事が約3つ(ちょっと切れてますけど 汗)になって、スペースも節約できました。

 

スマホ用に記事の表示数も少なくしてみる

これはおまけですが、ついでにスマホで表示させた際に一度に表示する記事の数をちょっと少なく出来ないかも試してみました。

全てはスクロール節約のためです ^^;

function.phpへ挿入

//スマホ表示分岐
function is_mobile(){
    $useragents = array(
        'iPhone', // iPhone
        'iPod', // iPod touch
        'Android.*Mobile', // 1.5+ Android *** Only mobile
        'Windows.*Phone', // *** Windows Phone
        'dream', // Pre 1.5 Android
        'CUPCAKE', // 1.5+ Android
        'blackberry9500', // Storm
        'blackberry9530', // Storm
        'blackberry9520', // Storm v2
        'blackberry9550', // Storm v2
        'blackberry9800', // Torch
        'webOS', // Palm Pre Experimental
        'incognito', // Other iPhone browser
        'webmate' // Other iPhone browser
    );
    $pattern = '/'.implode('|', $useragents).'/i';
    return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}

loop.php編集前

<?php
$row_new = get_row_new_post();   //New postで表示する行数
$count = 1;
?>

loop.php編集後

<?php if (is_mobile()) :?>
<?php 
$row_new = 2; //モバイルで表示する記事数
$count = 1;
?>
<?php else: ?>
<?php
$row_new = get_row_new_post();   //New postで表示する行数
$count = 1;
?>
<?php endif; ?>

cat_lists.php編集前

<?php 
$count_cat = get_count_cat_post(); //カテゴリーごとに表示する記事数
?>

cat_lists.php編集後

<?php if (is_mobile()) :?>
<?php 
$count_cat = 3; //モバイルで表示する記事数
?>
<?php else: ?>
<?php 
$count_cat = get_count_cat_post(); //カテゴリーごとに表示する記事数
?>
<?php endif; ?>

それぞれloop.phpとcat_list.phpの最初の部分を書き換えます。

上記でテーマカスタマイザーの設定にかかわらず、スマホの場合トップページの新着記事数は6件固定、カテゴリごとの記事は1カテゴリ当たり最大3件固定になります。

 

ちなみに、loop.phpとcat_list.phpは子テーマフォルダにファイルをコピーしてから編集することをオススメします。

特にfunction.phpは編集を間違うと全く表示されなくなったりしてしまいますので、バックアップ&自己責任でよろしくお願いしますね。

最後に作者のNobuoさん、勝手にいじってしまってゴメンナサイ!

【WordPress】WordPress用テーマ「マテリアル」新着記事に「New!」バッジを導入してみたよ

今日はとても嬉しいことがありまして、昨日公開しましたAnkerさんのモバイルバッテリーの記事を、本家Ankerさんがリツイートしていただいたのです!!

昨日の記事はこちら

 

ありがとうございます!Ankerさん!!

何人の方にはお気に入りに入れていただいたりととても嬉しい一日でした。皆様本当に有難うございます!

昨日は「普段の持ち運び編」でしたが、次は「出張編」も公開したいと思います。

 

さて、本日はWordpress用テーマ「マテリアル」の話題です。

 

マテリアルのトップ記事をもっと目立たせたい!

本ブログのWordpress用テーマである「マテリアル」の追加機能第二弾です。

トップページを見てお気づきの方もいらっしゃるかもしれませんが、

 

新着NEW

ぱっと見て、ブログが更新されたかが分かるように、公開して数日間は赤い「New!」のバッジを実装してみましたので、今日はその方法をご紹介します。

マテリアルでは、トップページの上段に新着記事が、下段にカテゴリ記事が大きく表示されるのですが、まずは上段の新着記事の方にバッジを追加してみます。

 

必要なファイルを一旦ローカルにコピーして編集

前回所要時間機能を追加したサイト同じように、ローカルに親テーマのフォルダから以下のファイルをコピーします。

  • loop.php
  • cat_lists.php

 

親テーマフォルダからダウンロード

「loop.php」が新着記事、「cat_list.php」がカテゴリー記事を表示するファイルです。

まずは、「loop.php」の方から手を入れていきます。

 

loop.php

編集前のファイル

<?php
$row_new = get_row_new_post();   //New postで表示する行数
$count = 1;
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
	<?php if($count == $row_new*3+1 && !is_paged() && is_home()){ echo "<div class='hide'>"; } ?>
	<div class="post<?php if($count%2==0){echo ' col-2';} if($count%3==0){echo ' col-3';} ?>">
	<div class="thumb-box sub-color-background">
	<?php if(has_post_thumbnail()){ ?>
		<a href="<?php the_permalink() ?>">
		<?php $title= get_the_title(); the_post_thumbnail(array(400, 400), array( 'alt' =>$title, 'title' => $title)); ?>
		</a>
	<?php }else{ ?>
		<a href="<?php the_permalink() ?>" class="no-deco">
		<div class="no-thumbnail"><p>No thumbnail</p></div>
		</a>
	<?php } ?>
	</div><!-- .thumb-box -->
	<div class="post-info">
	<p class="up-date"><span class="lsf">time </span><?php the_time('Y/m/d') ?></p>
	<h3 class="post-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
	<?php get_template_part("sns_count") ?>
	<p class="cat-link"><span class="lsf cat-folder">folder </span><?php the_category(' ') ?></p>
	</div><!-- .post-info -->
	</div><!-- .post -->

 

編集後のファイル

<?php
$row_new = get_row_new_post();   //New postで表示する行数
$count = 1;
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
	<?php if($count == $row_new*3+1 && !is_paged() && is_home()){ echo "<div class='hide'>"; } ?>
	<div class="post<?php if($count%2==0){echo ' col-2';} if($count%3==0){echo ' col-3';} ?>">
	<div class="thumb-box sub-color-background">
	<?php if(has_post_thumbnail()){ ?>
		<a href="<?php the_permalink() ?>">
		<?php $title= get_the_title(); the_post_thumbnail(array(400, 400), array( 'alt' =>$title, 'title' => $title)); ?>
		</a>
	<?php }else{ ?>
		<a href="<?php the_permalink() ?>" class="no-deco">
		<div class="no-thumbnail"><p>No thumbnail</p></div>
		</a>
	<?php } ?>
	</div><!-- .thumb-box -->
	<div class="post-info">
	<p class="up-date"><span class="lsf">time </span><?php the_time('Y/m/d') ?></p>
	<?php
	$days = 3;
	$today = date_i18n('U');
	$entry = get_the_modified_date('U');
	$news = date('U',($today - $entry)) / 86400 ;
	if( $days > $news ){ print '<p style="text-align: right;"><span class="back-red" style="color: #ffffff;">New!</span></p>'; }
	?>
	<h3 class="post-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
	<?php get_template_part("sns_count") ?>
	<p class="cat-link"><span class="lsf cat-folder">folder </span><?php the_category(' ') ?></p>
	</div><!-- .post-info -->
	</div><!-- .post -->

となります。ちょうど日付の入る行の右側に今回は3日経過していないものに関して、「New!」という文字を挿入しています。

次に、カテゴリ記事も同様にやってみましょう。

 

cat_lists.php

編集前のファイル
※34行目から

					<div class="post-info">
						<p class="up-date"><?php the_time('Y/m/d') ?></p>
						<?php get_template_part("sns_count") ?>
						<h3 class="post-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
					</div><!-- .post-info -->
				</div><!-- .post -->

 

編集後のファイル
※34行目から

					<div class="post-info">
						<p class="up-date"><?php the_time('Y/m/d') ?></p>
						<?php get_template_part("sns_count") ?>
						<?php
						$days = 3;
						$today = date_i18n('U');
						$entry = get_the_modified_date('U');
						$news = date('U',($today - $entry)) / 86400 ;
						if( $days > $news ){ print '<p style="text-align: right;"><span class="back-red" style="color: #ffffff;">New!</span></p>'; }
						?>
						<h3 class="post-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
					</div><!-- .post-info -->
				</div><!-- .post -->

となります。今回は、

class="back-red"

というclass定義の背景の色を赤に変更しているので、style.cssに、

.back-red{background-color: #ffccff;}

と記載されているところを、

.back-red{background-color: #ff0000;}

に書き換えます。

 

最後にファイルをアップロードして完成

最後にFTPなどでファイルのアップロードをして完成です。

子テーマフォルダへアップロード

この時、子テーマフォルダである「wp_material_child」にアップロードすることに注意してくださいね。

また、今回は3日をいう期間を設定していますが、日数を変更したい場合は、

$days = 3;

この部分の数字を変更するだけで良いです。

意外と簡単でしょう!?

こうすることで、結構見た目が映えますので、皆さんも是非やってみてはいかがでしょうか。

2015/10/26補足

style.cssには元々「.back-red」classが定義されているので、「追加」ではなく「変更」が正しいですね。
作者のNobuoさんに丁寧に教えていただきました!ありがとうございます!!

【WordPress】テーマ変更!フラットデザイン「マテリアル」で近未来な感じ!

またまたテーマ変更です。

前回のPrincipleの作者である、「Nobuo」さんの最新作、「マテリアル」に変更しました。

なんか、これまでのデザインとはがらりと違った、一枚のホワイトボードに紙が貼ってあるようなイメージですね。

それでいて、スタイリッシュでカッコいい!

http://wp-material.net/category/material-func/

タイル状のフラットなデザインで新着記事が見やすい!

ファーストビュー

新しい記事はこのようにタイル状に表示されるので、一目で一覧がわかりますね。しかもSNSでのシェア数も表示されているという高機能さです。これで無料とはすごいですね。

 

カテゴリの内容が新着の下に表示される

d3bea59c83f0822f3970f3abe30323d1-1024x535

これが斬新ですね。これまではカテゴリ別の記事はサイドバーに配置されるのが常でしたが、こちらはメインカラムに表示されます。発想の転換ですね。

 

ちなみにバナーも変えてみました

風の羅針盤

ま、これはオマケみたいなもので、、いいものがなかったので、自作です。

 

ぜひ皆さんも試してみてください!