WordPressのレスポンスヘッダーにVary HTTP ヘッダーを追加する

WordPressでスマートフォンなどのデバイス対応をする際、WPtouchWP Mobile Detectorなどなどのプラグインを使ってスマートフォン用にテーマを切り替えている方も多いと思います。

今回は、そんなWordPressでデバイスによってテーマの切り替えを行っている方向けに、ちょっとしたおすすめTipsを紹介しておこうと思います。

“WordPressのレスポンスヘッダーにVary HTTP ヘッダーを追加する” の続きを読む

WordPressのbody_classに固定ページのルートのスラッグを追加する

body_classで出力されるclassに最上位のルートのページのスラッグを含むclass名が追加されるようになります。子ページ全部で同じcssを利用できるので、特定のツリーだけ配色を変更したいときなど便利にですよね。さらに、汎用化しているので固定ページだけじゃなくて、階層サポートしたのカスタム投稿タイプでも利用できます。

class名は、{投稿タイプスラッグ}-category-{ページのスラッグ}という命名規則にしてますが、このあたりはお好みで。

 $post_type . '-category-' . $post->post_name

の部分を変えてくださいな。

function add_page_root_body_class( $classes ) {
	if ( is_singular() ) {
		$post_type = get_query_var( 'post_type' );
		if ( is_page() ) {
			$post_type = 'page';
		}
		if ( $post_type && is_post_type_hierarchical( $post_type ) ) {
			global $post;
			if ( $post->ancestors ) {
				$root = $post->ancestors[count($post->ancestors) - 1];
				$root_post = get_post( $root );
				$classes[] = esc_attr( $post_type . '-category-' . $root_post->post_name );
			} else {
				$classes[] = esc_attr( $post_type . '-category-' . $post->post_name );
			}
		}
	}
	return $classes;
}
add_filter( 'body_class', 'add_page_root_body_class' );

WordPressの日付別アーカイブのtitleタグに年やら日やらを追加する

WordPressの日付別アーカイブのtitleタグが「2012 3月 15」みたいに中途半端な表示になっているのが気になったので調整してみることにしました。

こんな感じのやつね。
修正前

<title>  2012  2月  28</title>

こんな感じで、うまく行くはず。。。

function jp_date_archive_wp_title( $title ) {
	$title = trim( $title );
	if ( is_date() ) {
		$replaces = array(
			'/([1-9]{1}[0-9]{3})/' => '$1年',
			'/ ([0-9]{1,2}) /'     => ' $1日 ',
			'/ ([0-9]{1,2})$/'     => ' $1日',
			'/[\s]+/'              => ' '
		);
		$title = preg_replace( array_keys( $replaces ), $replaces, $title );
	}
	return $title;
}
add_filter( 'wp_title', 'jp_date_archive_wp_title', 10 );

修正後

<title>2012年 2月 28日</title>

wp_titleのパラメーターでうまくいかない場合があったら、教えてください。

WordPressで表示する記事が新着かどうかを判別するコード

新着情報などにNewマークを表示させたいなどの要望はよくあることですね。
今回は、表示する記事が新着や更新かどうかの判別用コードを紹介します。

“WordPressで表示する記事が新着かどうかを判別するコード” の続きを読む

WordPressの管理画面でプラグインのメモを残せるプラグインを共同開発してみた

ある日、Twitterで @poyosi さんがこんな事をつぶやいていて

実は内心「40も50も入れるかフツー?」などと思っていたのはおくびにも出さず聞いていると、夜中にもかかわらず各所から反応があって

意外にニーズがあるのかもと考えを改め、そんなわけで、ちょっぴり興味を持って取り組んでみることにしました。

“WordPressの管理画面でプラグインのメモを残せるプラグインを共同開発してみた” の続きを読む