私はいくつかの特別なフィールドを持つカスタムポストタイプ "knowledgebase article"を作成するwordpressプラグインを開発しています。彼らがコミットする前にフィールドが欠落している場合、ユーザーに警告する公開ボタンが必要です。これはどうすればいいですか?この動作を挿入するための適切なフックはありますか?Wordpress公開ボタンに確認ダイアログを追加するにはどうすればよいですか?
答えて
すべての管理者ページにデフォルトで含まれている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');
}
});
});
あなたはこのバリデーターの動作を確認するには、タグ編集ページにアクセスし、名前のない新しいタグを作成します。フィールドのコンテナが赤色に変わり、問題が発生したことが通知されます。
私はこれを私の目的のためにテストしました。うまくいけばそれはあなたを助けることができる。
入力してくれてありがとう、私は月曜日に事務所に入るときにそれを打ち明けます。 :-) – cynicaloptimist
この解決策にスポットがあった。なぜ私の質問は「漠然としている」ために閉じられたのか分かりませんが、あなたは私が求めていることを正確に理解しました。 – cynicaloptimist
私は '曖昧さ'について同じことを疑問に思いました。 +1してくれてありがとう – hardy101
- 1. 「ナビゲーションの確認」ダイアログにカスタムスタイルを追加するにはどうすればよいですか?
- 2. Javascriptの確認ボックスの[OK]ボタンにonclickイベントを追加するにはどうすればよいですか?
- 3. ユーザーの非公開フィードのYouTube動画が公開されているかどうかを確認するにはどうすればよいですか?
- 4. 公開された関数シグネチャをLua Eclipseに追加するにはどうすればよいですか?
- 5. ダイアログにdivを追加するにはどうすればいいですか?
- 6. ボタンにアクションを追加するにはどうすればよいですか?
- 7. カスタムセルにボタンを追加するにはどうすればよいですか?
- 8. Python PEPの公開履歴を確認するにはどうすればよいですか?
- 9. プログラムでボタンを追加するにはどうすればよいですか?
- 10. C#でボタンを追加するにはどうすればよいですか?
- 11. コンテンツクエリwebpartを公開ページレイアウトに追加するにはどうすればよいですか?
- 12. 公開APIをRailsアプリケーションに追加するにはどうすればよいですか?
- 13. - 認証ダイアログをポップアップで開くにはどうすればいいですか?
- 14. Googleの「近日公開」セクションでアプリを追加するにはどうすればよいですか?
- 15. 一時ファイルを追加するにはどうすればいいですか?フィールドをメテオに公開する
- 16. 追加する前にスナップインを確認するにはどうすればよいですか?
- 17. 削除する前に確認メッセージを追加するにはどうすればよいですか?
- 18. ポップアップページが開いているかどうかを確認するにはどうすればよいですか?
- 19. slickgridのYesNoCheckboxCellEditorに確認を追加するにはどうすればよいですか?
- 20. 確認ダイアログボックスにイメージアイコンを追加するにはどうすればよいですか?
- 21. MapViewにボタンを追加するにはどうすればいいですか?
- 22. wx.MenuBar()にボタンを追加するにはどうすればいいですか?
- 23. プロパティを非公開にするにはどうすればよいですか?
- 24. マップをウェブに公開するにはどうすればよいですか?
- 25. ギャラリービューの右側に「画像を追加」ボタンを追加するにはどうすればよいですか?
- 26. シンボルパッケージが特定のNugetパッケージ用に公開されているかどうかを確認するにはどうすればよいですか?
- 27. EPiServerのコンテンツエディタで[公開]ボタンを無効にするにはどうすればよいですか?
- 28. CQRSでコマンドを公開するにはどうすればよいですか
- 29. Google App Makerのカスタム確認ダイアログにコールバックを添付するにはどうすればよいですか?
- 30. アプリを公開しないとアプリを再公開するにはどうすればよいですか?
クローズドを気にしてアップしました – rinogo