このシリーズでは、WordPress でシンプルな CRM システムを作成する方法を検討してきました。このシリーズの最初の部分では、「連絡先」カスタム投稿タイプを登録する WordPress プラグインを作成しましたが、連絡先の追加情報を保存する方法については説明していませんでした。
カスタムフィールドの作成
WordPress には、プラグインやテーマの開発者がさまざまな WordPress 管理画面にカスタム メタ ボックスを登録できるようにする add_meta_box()
関数があります。
WordPress は、投稿またはページを作成するときに表示する独自のメタ ボックスをいくつか登録します。たとえば、ページには Page PropertiesMeta Box:
があります。 メタ ボックスを 連絡先 カスタム投稿タイプに追加しましょう。このシリーズの最初のチュートリアルで作成したプラグイン ファイルを開きます。次に、プラグインのコンストラクターで、次と一致するようにコードを更新します。これにより、register_meta_boxes()
関数が add_meta_boxes
に登録されます。アクション:
次に、register_meta_boxes()
関数内に、add_meta_box()
への呼び出しを追加します。これにより、output_meta_box() 関数によってレンダリングされる、ContactDetails
という名前のメタ ボックスが必要であることが WordPress に伝えられます。コンストラクターの後に次のコードを追加します:
最後に、output_meta_box()
関数が必要です。これは、上記の add_meta_box
によって呼び出されます。 register_meta_boxes()
関数の後に次のコードを追加します:
連絡先 カスタム投稿タイプにメタ ボックスが表示されるかどうかを確認してみましょう。 連絡先 > 新しい連絡先の追加
に移動して、WordPress ダッシュボードで新しい連絡先を作成します。すべてが正しく記述されている場合は、次のスクリーンショットのようなものが表示されるはずです。
フィールドを使用してメタボックスに入力します
先に進み、このメタ ボックスに電子メール アドレス フィールドを追加しましょう。 output_meta_box
関数を次のコードに変更します:
プラグイン コードを保存し、連絡先の追加画面をリロードします。新しい電子メール アドレス フィールドが [連絡先の詳細] メタ ボックスに表示されるはずです:
カスタムフィールドデータを保存する
まだ終わっていません。ユーザーがフィールドに入力した内容を保存するように WordPress に指示する必要があります。 WordPress では、save_post
アクションの関数を登録することでこれを行います。
ほとんどの操作と同様に、操作をプラグインのコンストラクターに登録します。
リーリー次に、save_meta_boxes()
関数を作成しましょう:
WordPress やその他のプラグインは save_post
アクションを頻繁に呼び出すことができるため、この関数は複数のアクションを実行します (定期的に下書きを自動的に保存するときや、別の投稿タイプを保存するときなど)。ユーザーが連絡先を保存または更新するときにのみカスタム フィールド データが保存されるようにする必要があります。
連絡先を保存する場合は、電子メール アドレスをクリーンアップします。 WordPress コーデックスより:
無効な UTF-8 をチェックし、単一の
つまり、テキスト文字列におかしな書式設定が存在しないことを保証します。
最後に、update_post_meta
を使用して、メール アドレスを投稿メタデータに保存します。投稿メタは、投稿に添付された一連のキーと値のペアであると考えてください。好きなだけ選択できます。この例では、キー _contact_email
に基づいてカスタム フィールドの値を保存します。
カスタムフィールドデータの読み取り
新しい 連絡先を作成し、電子メール アドレスを入力します。新しい連絡先を保存すると、電子メール アドレスがフィールドに表示されないことがわかります:
Post メタを読み取り、入力フィールドに表示するには、output_meta_box()
関数を編集する必要があります。 output_meta_box()
関数を次のコードに変更します:
get_post_meta() を使用して、特定の投稿 ID とメタ キーの組み合わせの値を取得します。メタキーが
_contact_email であることがわかります。それは
update_post_meta() で行うことだからです。 中保存自定义字段值时使用的键
安全
提交和处理表单数据时,安全性极其重要。我们在保存数据时需要知道数据的来源是可信的。如果我们不能信任数据的来源,我们就不能存储它——数据可能会因试图利用错误或安全缺陷而受到损害或损坏。
WordPress 为我们提供了随机数(“使用一次的数字”),可以与表单数据一起发送。当我们的保存例程运行时,可以检查这个随机数,以确保它与我们期望的值匹配。
这有助于防止跨站点请求伪造 (CSRF) 攻击,即有人试图从不同的网站向我们的保存例程提交表单数据。
我们需要在上面的代码的两个地方添加安全性:
-
output_meta_box()
:向表单添加随机数 -
save_meta_boxes()
:验证提交的随机数值
让我们编辑 output_meta_box()
函数,将其替换为以下代码:
/** * Output a Contact Details meta box * * @param WP_Post $post WordPress Post object */ function output_meta_box($post) { $email = get_post_meta( $post->ID, '_contact_email', true ); // Add a nonce field so we can check for it later. wp_nonce_field( 'save_contact', 'contacts_nonce' ); // Output label and field echo ( '<label for="contact_email">' . __( 'Email Address', 'tuts-crm' ) . '</label>' ); echo ( '<input type="text" name="contact_email" id="contact_email" value="' . esc_attr( $email ) . '" />' ); }
这使用 wp_nonce_field()
生成一个名为 contacts_nonce
的隐藏字段,并执行名为 save_contact
的操作。它的价值是由WordPress产生的。
接下来,让我们在 save_meta_boxes()
中编辑保存例程:
/** * Saves the meta box field data * * @param int $post_id Post ID */ function save_meta_boxes( $post_id ) { // Check if our nonce is set. if ( ! isset( $_POST['contacts_nonce'] ) ) { return $post_id; } // Verify that the nonce is valid. if ( ! wp_verify_nonce( $_POST['contacts_nonce'], 'save_contact' ) ) { return $post_id; } // Check this is the Contact Custom Post Type if ( 'contact' != $_POST['post_type'] ) { return $post_id; } // Check the logged in user has permission to edit this post if ( ! current_user_can( 'edit_post', $post_id ) ) { return $post_id; } // OK to save meta data $email = sanitize_text_field( $_POST['contact_email'] ); update_post_meta( $post_id, '_contact_email', $email ); }
这为我们的保存例程添加了两项检查:
- 检查我们的表单中是否设置了随机数字段。如果没有,请不要保存任何内容。
- 检查随机数字段的值是否符合我们的预期。如果没有,请不要保存任何内容。
创建或编辑您的联系人,并确保电子邮件地址现已保存。
下一个...
在下一篇文章中,我们将使用高级自定义字段将自定义字段添加到我们的联系人自定义帖子类型中,从而使我们能够创建具有更广泛输入类型的丰富用户界面.
以上がWordPress でシンプルな CRM を作成する: カスタムフィールドを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1
使いやすく無料のコードエディター

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
