WordPress Snippet

ワードプレスをカスタマイズしよう

個別投稿記事と同じリンク先を持つリンクをハイライトする。

WordPressは、カテゴリーアーカイブを表示した場合 カテゴリ-ウィジェットは

<li class="cat-item cat-item-15 current-cat"><a href="...">aciform</a></li>

現在のカテゴリーアーカイブへのリンクには、current-cat というクラスが追加されます。これによりテーマは、ハイライトさせるなどのスタイルを指定できるようになります。

しかし、最近の投稿ウィジェットなどでは、最新の投稿の個別投稿記事を表示したとしても、自動的にクラスが追加されることはなくテーマから、ハイライトさせるためには何らかのカスタマイズが必要になります。

最近の投稿ウィジェットのようにクラスが自動的に付与されていない場合でも、テーマでリンクをハイライトさせる簡便な方法を考えました。

CSSの属性セレクタを使う事で、スタイルを指定します。

以下のコードのセレクターは、テスト用のため!importantを使っていますが、それぞれのテーマで適切なセレクタに変更する必要があります。

functions.phpに以下のフィルタを追加します。

function current_post_hilight() {
	global $post, $wp_styles;

	if ( is_singular() ) {
		$current_url= get_permalink( $post->ID );

		$inline_style= 'a[href="' . $current_url . '"]{color:red!important;}';

		wp_add_inline_style( 'style', $inline_style );
	}
}
add_action( 'wp_print_styles', 'current_post_hilight' );

https://ja.forums.wordpress.org/topic/159577?replies=3#post-231243(b:サブループ内での記事へのリンクにクラス名を付けたい)

[emulsion_relate_posts]