2011-07-15 19 views
2

私はいくつかの特別なフィールドを持つカスタムポストタイプ "knowledgebase article"を作成するwordpressプラグインを開発しています。彼らがコミットする前にフィールドが欠落している場合、ユーザーに警告する公開ボタンが必要です。これはどうすればいいですか?この動作を挿入するための適切なフックはありますか?Wordpress公開ボタンに確認ダイアログを追加するにはどうすればよいですか?

+0

クローズドを気にしてアップしました – rinogo

答えて

4

すべての管理者ページにデフォルトで含まれているwp-admin/js/common.jsの基本クライアント側フォーム検証スクリプトを使用できます。

まず、ポスト編集画面上で動作するプラグインを経由してアクションを追加します。

add_action('admin_print_scripts', 'my_validation_script'); 
function my_validation_script() { 
    global $post_type; 
    if(isset($post_type) && $post_type == 'knowledgebase_article') { 
     wp_enqueue_script('my-validation-script', network_site_url() . '/wp-content/plugins/your-plugin-folder/my-validation-script.js', array('jquery', 'common')); 
    } 
} 

次に、実際にフォームの送信を扱うに小さなjavascriptのフォームハンドラを記述します。

jQuery(document).ready(function(){ 

    //'my_required_field' is the class name of the DIV or TD tag *containing* the required form field 
    jQuery('.my_required_field').addClass('form-required'); 

    //'post' is the ID of the main form on the new post screen 
    jQuery('#post').submit(function(){ 
      //the validateForm function lives in wp-admin/js/common.js 
      if (!validateForm(jQuery(this))) { 
        alert('Please enter a value'); 
        return false; //stop submitting the form 
      } else { 
        //alert('all required fields have some input'); 
      } 
    }); 

}); 

あなたはこのバリデーターの動作を確認するには、タグ編集ページにアクセスし、名前のない新しいタグを作成します。フィールドのコンテナが赤色に変わり、問題が発生したことが通知されます。

私はこれを私の目的のためにテストしました。うまくいけばそれはあなたを助けることができる。

+0

入力してくれてありがとう、私は月曜日に事務所に入るときにそれを打ち明けます。 :-) – cynicaloptimist

+0

この解決策にスポットがあった。なぜ私の質問は「漠然としている」ために閉じられたのか分かりませんが、あなたは私が求めていることを正確に理解しました。 – cynicaloptimist

+0

私は '曖昧さ'について同じことを疑問に思いました。 +1してくれてありがとう – hardy101

関連する問題