WordPress Snippet

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

デフォルトカテゴリを非表示にする。

今、Raindropsというテーマに実装中の機能を、Twentyfifteen用にアレンジしてみました。

デフォルトパーマリンクだと動作しません。

以下は、動作確認用のテストコードですので、実装する場合には、コードを再検討してください。

functions.php

add_action( 'wp_head','my_hide_default_category', 99 );

function my_hide_default_category( ) {

	$permalink_structure= get_option( 'permalink_structure' );

	$css_rule_set		= '<style type="text/css">
						.entry-footer .cat-links a[href$="%1$s/"],
						.entry-footer .cat-links a[href$="%1$s"]{
							display:none;
						}
					</style>';

	if ( ! empty( $permalink_structure ) ) {
		
		$default_category_id	= get_option( 'default_category' );
		$default_category_info	= get_category( $default_category_id );
		$default_category_slug	= $default_category_info->slug;

		printf( $css_rule_set, $default_category_slug );
	}	
}

追記、カテゴリーを表示したときに、投稿の同じカテゴリーも非表示にする例

フィルターなどで、スタイルを追加する必要があります。ご参考まで

if ( ! function_exists( 'emulsion_hide_redundant_category' ) ) {

	function emulsion_hide_redundant_category() {

		$permalink_structure= get_option( 'permalink_structure' );

		$css_rule_set= '.taxsonomy [rel="tag"][href$="%1$s/"],
						.taxsonomy [rel="tag"][href$="%1$s"]{
							display:none;
						}';
		if ( is_category() ) {

			$category		= single_term_title( "", false );
			$catid			= get_cat_ID( $category );
			$category_link	= get_category_link( $catid );

			return sprintf( $css_rule_set, $category_link );
		}
		if ( ! empty( $permalink_structure ) ) {

			$default_category_id	= get_option( 'default_category' );
			$default_category_info	= get_category( $default_category_id );
			$default_category_slug	= $default_category_info->slug;
			return sprintf( $css_rule_set, $default_category_slug );
		}
	}

}

[emulsion_relate_posts]