Meta Manager 1.0.5アップデート

Meta Manager を 1.0.5にアップデートしました。非公開のカスタム投稿タイプでもメタ情報のボックスが表示されてしまっていたため、非公開のカスタム投稿タイプの場合、表示しないように条件の変更を行いました。

併せて、メタ情報のボックスを非表示にできるようにフィルターフックを追加しています。CODE 1 では、book というカスタム投稿タイプであれば、表示しないようになります。投稿タイプ以外にも記事の情報を参照出来る $post もパラメーターとしてとれますので、記事の属性などによっての切り替えも可能です。

CODE 1

function meta_manager_meta_box_control_filter( $display, $post_type, $post ) {
	if ( $post_type == 'book' ) {
		$display = false;
	}
	return $display;
}
add_filter( 'meta_manager_meta_box_display', 'meta_manager_meta_box_control_filter', 10, 3 );

WordPressで追加した画像サイズを本文に挿入できるようにする

WordPressで生成される画像サイズを追加する方法については、画像アップロードで作成される画像の種類を追加するにてご紹介しましたが、これだけだと本文に画像を追加する際のサイズの選択肢に表示されません。

今回は、さらに一歩進めてサイズを追加するとともに、挿入するサイズとして選択できるようにしてみました。

“WordPressで追加した画像サイズを本文に挿入できるようにする” の続きを読む

qtranslateと干渉して、Trust Formのエラーメッセージが英語になってしまう原因を調べてみた

WordPress で qtranslateTrust Form を利用しているサイトで、Trust Form のエラーメッセージが英語になってしまうんですけどという相談を受けたので、どうにかならないものかと調べてみました。

“qtranslateと干渉して、Trust Formのエラーメッセージが英語になってしまう原因を調べてみた” の続きを読む

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' );