date. 2014/9/24

category. WordPress

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

 

参考サイト

関連記事