-
ID:KqDByd さんの質問

【WordPressカスタムフィールドの入力文字制限の独自カスタマイズ】

自分で調べてみたのですが、
いまいちはっきりわからないためWordPressに詳しい方、質問させてください。

■質問内容
WPのカスタムフィールドですが、入力文字数や文字列についての任意バリデーションを設置することはできますか?
(もしくは、それを行えるプラグインや勉強用の参考サイトなどはありませんか?)

■用途
用途としては、WPサイト納品後、
クライアント様がWP管理画面にログインして投稿するとき、カスタムフィールドを入力するときに以下のバリデーションが動作するようにしたいです。

========
(カスタムフィールド項目名は例です)

  • 住所:全角200文字以下のみ登録許可。それ以上の文字数はエラーメッセージを出してはじく
  • 電話番号:数字とハイフンのみ登録許可。それ以外の文字列はエラーメッセージを出してはじく
  • メールアドレス:メールアドレスのみ登録許可。メールアドレスの形式でない文字列はエラーメッセージを出してはじく
  • 対応可否: YかNのフラグ文字列のみ選択。未選択の場合、エラーメッセージを出してはじく
    以上のどれか一つでも入力不備がある場合、エラーメッセージを出して投稿保存をはじく
    ========

など、WP管理画面上でのカスタムフィールド投稿時のバリデーションを追加したいです。

■前提
前提として、納品後にクライアント様側でWPアップデートを随時行うので、
「WP本体のプログラムソースコード改修はしない」前提で教えて頂ければと思います。

■当方
※ちなみに当方はLAMP環境でのプログラマー実務経験4年のWebデザイナーです。

よろしくお願いいたします。

みんなの回答 5 件

ID:PJ4bcw さんの回答

簡易でいいならJSでいいんじゃないですかねー

ID:KqDByd

回答ありがとうございます!JS検討させて頂きます!

ID:mPD3Hd さんの回答

投稿者が不特定多数のではないのだったら、JSでアプリケーション組むのがいいんじゃないかな。

ID:KqDByd

回答ありがとうございます!簡易で大丈夫なので、JS検討させて頂きます!

ID:Ob18NP さんの回答

  1. プラグインとして、管理画面にJSファイルを読み込むだけのものを作る
  2. JSファイルではカスタムフィールドの入力値をjQuery等でchangeイベント処理する
  3. 送信できる条件を満たさない限りformのonsubmitでreturn false;する

以上かな。

ID:KqDByd

回答ありがとうございます!

なるほど、JSだけを読み込むプラグインであれば本体がバージョンアップしても問題なさそうですね!

管理画面側に実装する方法でベターなものがしぼれなかったのでとても参考になりました。ありがとうございます!

ID:3vcPU7 さんの回答

5509/exValidation · GitHub

https://github.com/5509/exValidation
ID:KqDByd

回答ありがとうございます! github先の内容を参考に勉強させて頂きます!

ID:r4aL7q さんの回答

function.phpに、アクションフックだかフィルターフックだかを使って独自のバリデーション関数を作ればいいんじゃないかな。
アクションフックのsave_post使うとかすればできるんじゃないかと。

ID:XbSVQQ

これとjs周りの処理一緒にやるといいですよ

ID:KqDByd

回答ありがとうございます! 詳細を調べて参考にさせて頂きます!

最終更新日:2013-10-16 (7,386 views)

関連するトピックス

ページ上部に戻る