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で作成したエラーメッセージを表示しています。
