Everyday Pieces ::
  • Webサービス
  • ブログパーツ
  1. ホーム
  2. WordPress

WordPressのテーマを自作する(22)

2022年6月10日 WordPress, プログラミング テーマ自作

 このシリーズを書くのは久しぶりです。
前回、「記事一覧を更新日時の順にする」ってのをやったのですが、カテゴリやタグなどのアーカイブ一覧でも同様になってしまうのは不自然ではないかと、先日ふと思った次第です。アーカイブなので投稿日時の新しい順に並んでいる方が良いのではないかと。

アーカイブでは投稿日時の順にする

 ということで、記事全体の一覧では更新日時の新しい順に、アーカイブでは投稿日時の新しい順に並べることにしました。is_archive() で判定するようにすればOKなので、 functions.php 内のコードを以下のように変更しました。

add_action( 'pre_get_posts', function( $query ) {
	// 記事一覧を更新日時の順にする→https://tabibitojin.com/post-list-sort-order-change/
	// ただしアーカイブは従来どおりに投稿日時の新しいものから。
	if ( $query->is_main_query() && !is_archive() ) {
		$query->set( 'orderby', 'modified' );
	}
},999);

メタ情報の並びを合わせる

 記事全体の一覧では更新日時の新しい順に並ぶようにしたので、それに合わせてメタ情報の表示の並びを「更新日時、投稿日時、カテゴリ、タグ」という具合にしました。

 アーカイブでは投稿日時の新しい順に並べることしたので、それに合わせてメタ情報の表示の並びを「投稿日時、更新日時、カテゴリ、タグ」に変えることにします。テンプレート部品である parts/meta.php のコードを以下のように変更しました。

<?php
echo '<div class="meta">';
// 更新日。
$updated = '';
if ( get_the_date() != get_the_modified_date() ) {
	$updated = sprintf( '<span class="updated-date"><i class="icon-repeat"></i> <time class="entry-date updated" datetime="%s">%s</time></span>',
		esc_attr( get_the_modified_date( DATE_W3C ) ),
		esc_html( get_the_modified_date() )
	);
}
// 投稿日。
$published = sprintf( '<span class="published-date"><i class="icon-pencil"></i> <time class="entry-date published%s" datetime="%s">%s</time></span>',
	get_the_date() != get_the_modified_date() ? '' : ' updated', // 投稿日と更新日が同じ場合は updated を追加。
	esc_attr( get_the_date( DATE_W3C ) ),
	esc_html( get_the_date() )
);
if ( is_archive() ) { // functions.php における 'pre_get_posts' の処理と合わせておくこと!
	// アーカイブ時は「投稿日、更新日」の順。
	echo $published, $updated;
} else {
	// それ以外は「更新日、投稿日」の順。
	echo $updated, $published;
}
if ( has_category() ) {
	// カテゴリ。
	printf( '<span class="cat-links"><i class="icon-folder"></i> %s</span>', get_the_category_list( ', ' ) );
}
if ( has_tag() ) {
	// タグ。
	printf( '<span class="tag-links"><i class="icon-tags"></i> %s</span>', get_the_tag_list( '',', ') );
}
echo '</div>';
関連記事
WordPressのテーマを自作する(23) WordPressのテーマを自作する(21) WordPressのテーマを自作する(20) WordPressのテーマを自作する(19) WordPressのテーマを自作する(18) WordPressのテーマを自作する(17) WordPressのテーマを自作する(16) WordPressのテーマを自作する(15) WordPressのテーマを自作する(14) WordPressのテーマを自作する(13) WordPressのテーマを自作する(12) WordPressのテーマを自作する(11) WordPressのテーマを自作する(10) WordPressのテーマを自作する(9) WordPressのテーマを自作する(8) WordPressのテーマを自作する(7) WordPressのテーマを自作する(6) WordPressのテーマを自作する(5) WordPressのテーマを自作する(4) WordPressのテーマを自作する(3) WordPressのテーマを自作する(2) WordPressのテーマを自作する Counterize II をカスタマイズ

コメントする キャンセル

アドレスが公開されることはありません。が付いている欄は必須項目です。

投稿ナビゲーション

月面作業用ロボットローバーR1 by GITAI
three.jsで遊んでみる(46)

カテゴリー

WordPress つぶやき トピック プログラミング

タグ

AS3 enchant.js FamilyTreeVis Flash Geolocation gif.js kinect Linux MMD MoneyTrackNote notifier.js OpenCV PDFカレンダー RISC-V three.js セキュリティ テーマ自作 ブログパーツ 動物 動画 麻雀

アーカイブ

© Everyday Pieces ::