WordPressの公開記事でプレビュー可能なショートコード

公開している投稿や固定ページにコンテンツを追加するときなど、どのようにプレビューを行っていますか?
別の非公開ページなどを作ってプレビューするのも一手ですが、管理画面の一覧にプレビュー用のページが増えていくと管理が煩雑になりますよね。

そんなときは、ログインしてないと表示されなくなるプレビュー用のショートコードを利用するのが簡単で便利です。
下記の CODE 1 を利用中のテーマのfunctions.phpに追加して、管理画面上でログインしていないと表示されない範囲を[preview] [/preview]で囲むだけです。

ユーザーの権限によって、表示・非表示を変えたい場合は、level属性での指定が可能になっていて、たとえば編集者以上で表示させたい場合は、[preview level=7] [/preview](編集者のレベルは7、各権限のレベルはCodexのユーザーの種類と権限を参照)のように指定できます。

■ CODE 1 (2011.2.17 14:00修正)

function preview_content_shortcode( $atts, $content ) {
	extract(
		shortcode_atts(
			array( 'level' => '0' ), $atts
		)
	);
	
	if ( current_user_can( $level ) ) {
		return do_shortcode( $content );
	}
}
add_shortcode( 'preview', 'preview_content_shortcode' );

これで、記事をわざわざ追加することもなく、いつものページにログインしてアクセスするだけでプレビューができますね。

[追記]
をかもとさんに、current_user_canを使った方が、レベルだけでなく権限での指定もできるので、そっちの方が便利だよとの助言をいただきました。ありがとうございます。

「WordPressの公開記事でプレビュー可能なショートコード」への1件のフィードバック

コメントを残す

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