WordPressでエラーメッセージの表示方法です。
今回は投稿(post)でバリデート後、エラーメッセージを表示するようなサンプルプログラムを作成致しました。
サンプルソース
/** * 投稿のチェックする * @param $id */ function checkTest($id){ $post = get_post($id); $postType = $post->post_type; if( $postType == 'post' ){ $err = validate($post); // ここで何かチェックする if($err !== false){ set_transient('my-custom-admin-errors', $err, 10); } } } add_action( 'wp_insert_post', 'checkTest' ); /** * メッセージの表示 */ function my_admin_notice(){ if($messages = get_transient('my-custom-admin-errors')){ echo '<div class="error"><p>'; echo($messages); echo '</p></div>'; } } add_action('admin_notices', 'my_admin_notice');
解説
関数『checkTest』
こちらの関数で、投稿タイプがpostのものをバリデートし、メッセージを表示するようにしています。
Line:11で受け取ったエラーメッセージを『my-custom-admin-errors』という名前でWordPressに渡しています。
Line:15で『wp_insert_post』にフックしています。
関数『my_admin_notice』
こちらの関数で、checkTestで作成したエラーメッセージを表示しています。