Cocoonテーマで『先頭に固定した記事』にラベルを付ける

固定された記事にラベルを付ける Cocoon

WordPressには、「先頭に固定表示」という機能があります。
新着一覧の一番上に、記事を固定することができます。

日付に関係なく、新着一覧の一番上に固定できる。

便利ですが、新着が変わってないように見えてしまいます。
そこで、固定記事にラベルを付ける方法を紹介します。

こんなラベルが付きます。

固定された記事ラベルの見本

ちょうど、ツイッターの「固定されたツイート」を設置するイメージです。

こちらは、Cocoonテーマ専用のカスタマイズです。
javascriptとCSSの記述を変えてあげれば、他のテーマでも流用可能と思います。

javascriptを追加する

Cocoonの子テーマには、javascript.jsというファイルがあります。

子テーマcocoon-child-master内

このファイルに、以下の記述を追加してください。


(function(){
	
	var post_id = "post-27";//記事IDを調べて番号を書き換えてください

	var array_id = ".home #list #" + post_id + " figure";
	var array_cat = ".home #list #" + post_id + "  .cat-label";

	var fixed_post = document.querySelector(array_id);
	var fixed_post_cat_label = document.querySelector(array_cat);

	fixed_post.insertAdjacentHTML('afterbegin','<div class="fixed_post_outer"><div class="fixed_post_name">固定された記事</div></div>');
	fixed_post_cat_label.style.display = 'none';

}());

次に、このコード内にあるpost-27の数字を固定した記事IDに書き換えます。(上から2行目です)

	var post_id = "post-27";//記事IDを調べて番号を書き換えてください

記事IDは、投稿一覧から確認できます。
見えていない場合は、表示オプションのIDにチェックを入れてください。

投稿一覧に記事IDが表示される

CSSを追加する

次に子テーマのstyle.cssに、以下を追加します。


/*固定記事のラベル*/
.fixed_post_outer {
	position: absolute;
	top: 0;
	left: 0;
}
.fixed_post_name {
	position: relative;
	background-color: #FFA13D;
	color: #FFF;
	font-size: 12px;
	padding: 0 12px;
	line-height: 30px;
	text-align: center;
	margin-right: 12px;
}
.fixed_post_name:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -12px;
	border-top: 15px solid #FFA13D;
	border-bottom: 15px solid #FFA13D;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
}

ラベルは、好きな色に変えてくださいませ。

モバイル向けにラベルを小さくするには、以下のCSSを追加します。


@media screen and (max-width: 480px){
.fixed_post_name {
	padding: 0 0.5em;
	line-height: 1.5em;
	margin-right: 0.5em;
}
.fixed_post_name:before {
	right: -0.5em;
	border-top: 0.75em solid #FFA13D;
	border-bottom: 0.75em solid #FFA13D;
	border-right: 0.5em solid transparent;
	border-left: 0.5em solid transparent;
}
}

以上で、固定記事のラベルが付きます。

カテゴリーラベルは、固定記事のみ、消えるようになっています。

Font Awesome 5でピンを付ける

Font Awesome 5をお使いの方は、以下のコードをjavascript.jsに書くと、見栄えがよくなります。

← このアイコンです。


(function(){
	
	var post_id = "post-27";//記事IDを調べて番号を書き換えてください

	var array_id = ".home #list #" + post_id + " figure";
	var array_cat = ".home #list #" + post_id + "  .cat-label";

	var fixed_post = document.querySelector(array_id);
	var fixed_post_cat_label = document.querySelector(array_cat);

	fixed_post.insertAdjacentHTML('afterbegin','<div class="fixed_post_outer"><div class="fixed_post_name"><i class="fas fa-thumbtack"></i> 固定された記事</div></div>');
	fixed_post_cat_label.style.display = 'none';

}());

以上で固定された記事に、ピンアイコン付きラベルが付きます。

固定された記事

このサイトにも適用しています。

コメント