私はいくつかの特別なフィールドを持つカスタムポストタイプ "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. Javascriptの確認ボックスの[OK]ボタンにonclickイベントを追加するにはどうすればよいですか?
- 2. ユーザーの非公開フィードのYouTube動画が公開されているかどうかを確認するにはどうすればよいですか?
- 3. 公開された関数シグネチャをLua Eclipseに追加するにはどうすればよいですか?
- 4. 公開APIをRailsアプリケーションに追加するにはどうすればよいですか?
- 5. コンテンツクエリwebpartを公開ページレイアウトに追加するにはどうすればよいですか?
- 6. 一時ファイルを追加するにはどうすればいいですか?フィールドをメテオに公開する
- 7. 追加する前にスナップインを確認するにはどうすればよいですか?
- 8. - 認証ダイアログをポップアップで開くにはどうすればいいですか?
- 9. ポップアップページが開いているかどうかを確認するにはどうすればよいですか?
- 10. MapViewにボタンを追加するにはどうすればいいですか?
- 11. ギャラリービューの右側に「画像を追加」ボタンを追加するにはどうすればよいですか?
- 12. slickgridのYesNoCheckboxCellEditorに確認を追加するにはどうすればよいですか?
- 13. マップをウェブに公開するにはどうすればよいですか?
- 14. プロパティを非公開にするにはどうすればよいですか?
- 15. EPiServerのコンテンツエディタで[公開]ボタンを無効にするにはどうすればよいですか?
- 16. CQRSでコマンドを公開するにはどうすればよいですか
- 17. コレクションプロパティを公開するにはどうすればよいですか?
- 18. iOSアプリを公開するにはどうすればよいですか?
- 19. 角2メソッドを公開するにはどうすればよいですか?
- 20. favicon.icoのキャッシュヘッダーを公開するにはどうすればよいですか?
- 21. 電子メールを公開するにはどうすればよいですか?
- 22. Outlookフォルダが公開されているかどうかを確認するにはどうすればよいですか?
- 23. オープン・グラフ・アプリケーションが既にタイムラインにプログラムで追加されているかどうかを確認するにはどうすればよいですか?
- 24. jQuery Mobileで確認ダイアログを作成するにはどうすればよいですか?
- 25. ポストタイプのリストに公開ボタンとプレビューボタンを追加するには?
- 26. jqueryダイアログにテキストエリアを動的に追加するにはどうすればよいですか?
- 27. ASP MVCビューに確認ダイアログを追加
- 28. telerik radgrid確認ダイアログにテキストボックスを追加
- 29. WordPressのwp_dropdown_categories内に新しいフィールドを追加するにはどうすればよいですか?
- 30. .NET Compact Frameworkに展開する前にデバイスプラットフォームを確認するにはどうすればよいですか?
クローズドを気にしてアップしました – rinogo