SWELL│投稿リストに新着NEWバッジを表示するカスタマイズ

SWELLの投稿リストでNEWバッジを表示したいとふと思いましたので、

JavaScriptで7日以内の記事に目印を付けて表示させてみました。

当サイトの更新が不定期なので、画像も残しておきます。

投稿記事リストの場合

関連記事の場合

応用すれば、他のテーマでも表示可能です。

本記事ではその新着NEWバッジの表示方法を紹介します。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

SWELLで投稿記事リストと関連記事リストにNEWバッジを表示する方法

JavaScriptでクラスを追加してCSSで表示するといったシンプルなカスタマイズです。

functions.phpにコードを挿入する

コードを記述する場所は下記になります。

WordPressの管理画面 > 外観 > テーマファイルエディター > functions.php

functions.phpに下記のコードを挿入してください。

※Code Snippetsのプラグインを使うと安全に記述できます。

add_action( 'wp_head', function () { ?>
<script>
	var date = new Date();
	var yyyy = date.getFullYear();
	var mm = ("00" + (date.getMonth()+1)).slice(-2);
	var dd = ("00" + (date.getDate())).slice(-2);
	var today = new Date(yyyy + "-" + mm + "-" + dd );
	
document.addEventListener('DOMContentLoaded', () => {
	try {
    //投稿リスト
	var datetime = document.querySelectorAll( "ul.p-postList time" ) ;		
	for (var i = 0; datetime.length; i++) {
	 var postime = new Date(datetime[i].getAttribute("datetime"));
	  var dif = (today - postime) / (1000 * 24 * 3600);		  
	  if(-1 <= dif && dif <= 7){
		 datetime[i].classList.add("new");
	  };		
	}
    //関連記事
	var datetime = document.querySelectorAll( "ul.c-postList time" ) ;		
	for (var i = 0; datetime.length; i++) {
	 var postime = new Date(datetime[i].getAttribute("datetime"));
	  var dif = (today - postime) / (1000 * 24 * 3600);		  
	  if(-1 <= dif && dif <= 7){
		 datetime[i].classList.add("new");
	  };		
	}		
	}catch (e) {}	
});
</script>
<?php } );

これで7日以内の新着のブログカードにnewというクラスが付与されるので、

あとはこちらにCSSで装飾を足します。

CSSの挿入

WordPressの管理画面 > 外観 > テーマファイルエディター > style.cssを開いて、下記のコードを挿入しましょう。

.c-postTimes__posted.new:after {
    content: "NEW";
    display: inline-block;
    vertical-align: middle;
    margin-left: 6px;
    height: 16px;
    line-height: 13px;
    padding: 1px 10px 0px 10px;
    font-size: 8px;
    background-color: var(--color_main);
    color: #ffffff;
    position: relative;
    bottom: 2px;
}

まとめ

SWELLの投稿リストブロックで新着記事を表示すると思いますが、

更新頻度が多い場合は本記事のようなNEWバッジがあると、最近の更新が一目でわかると思います。

気になった方は是非試してみて下さい。

目次