カスタム メタ ボックス テンプレート チュートリアル シリーズのパート 1 では、一連のフィールドをループし、各フィールドと HTML に必要なさまざまな種類のフォーム フィールドを出力するカスタム メタ ボックスを設定する方法について説明しました。これで、アレイとスイッチ ボックスに高度な項目を追加する準備が整いました。
ブロードキャストグループ
ラジオ ボタンは、チェックボックスのようなオン/オフ スイッチとしてではなく、ユーザーに 2 つのオプションのうち少なくとも 1 つを選択させるために使用されるため、実際には単独で使用されることはありません。最初に行う必要があるのは、単一のオプションを $custom_meta_fields
配列に追加することです。
これを、パート 1 で開始した元の $custom_meta_fields
配列内の他の配列項目に必ず追加してください。
この配列は、選択ボックスの項目とほぼ同じです。メインタグ、説明、および一意の ID があります。タイプを定義してから、オプション配列を追加します。後で保存された配列をチェックして保存された値を取得するため、オプション キーがオプションの値と同じであることが重要です。
リーリーこのコードは、メタ ボックス スイッチの最後の「break;」の後に追加されます。
- フィールドのネストされた「オプション」配列内の各オプションをループします
- インライン条件を使用して、保存された値が現在開いている値と一致するかどうかを判断し、真の場合は「checked」属性を出力します
- オプションの値をタグの一意の ID として使用します
- 次のオプションが新しい行になるように、最後に改行文字を追加します。 説明フィールドで終わります。オプションをループするときに
- を残したので、前にある「
」は必要ありません。
チェックボックスグループ
チェックボックスをスイッチとして使用する方法と、複数のオプションからオプションを選択する方法について説明しましたが、同じフィールドに複数の値を保存できるようにしたいと考えていますか?ここでチェックボックス グループが役に立ちます。
リーリー
もう一度、これを$custom_meta_fields 配列に追加します。設定は、一意の ID と定義されたタイプを持つ同様のフィールドとほぼ同じです。
リーリー
- 配列で定義された各オプションをループします
- 名前の末尾に角括弧を追加して、データを配列に保存します: []
- 「checked」属性を出力するインライン条件で、「in_array()」を使用して値が配列内にあるかどうかを確認します
- 前と同様に、各入力に値を追加し、ループを閉じて、説明を出力します
カテゴリの選択
さまざまな目的にカスタム分類を提供できるのは素晴らしいことですが、場合によっては、ユーザーが投稿ごとに 1 つの用語のみを選択できるように制限したい場合があります。簡単な解決策は、WordPress が投稿作成ページに追加するデフォルトの選択ボックスを削除し、それを選択ボックスとしてカスタム メタ ボックスに追加することです。
リーリー
この例では、組み込みの分類法「カテゴリ」を使用します。これを$custom_meta_fields 配列に追加します。 「id」がカテゴリ名と同じであることを確認してください。
リーリー
- 選択ボックスを開き、空白の値を「1 つ選択」として追加します
- セット分類のすべての用語を取得
- 現在のカテゴリに保存されている用語を取得します
- 各用語のループを開始します。
- 物事をシンプルで読みやすくするために、保存された用語に一致する場合はオプションを出力し、一致しない場合は通常のオプションを出力するフルサイズの条件ステートメントを使用します。
- ループを閉じてボックスを選択すると、分類に関する情報を取得して変数に保存する必要があります。
- 説明領域は、分類用語を管理できる領域にユーザーをリンクする簡単な方法として使用します。私たちが収集した $taxonomy 情報のタグを使用して、複数形が正しいことを確認してください (カテゴリなどというものはありません)。
ユーザー エクスペリエンスやデータの保存に矛盾を生じさせずに、デフォルト ボックスをカスタム選択ボックスでオーバーライドしたいため、分類法の編集ボックスを画面から削除する必要があります。
リーリー
ここで$custom_meta_fields 配列を使用して、各 "tax_select" フィールドをループし、それをこの削除関数に追加することもできますが、おそらく、それらに個別に名前を付ける方がはるかに簡単です。カテゴリ ボックスを正しく削除するには、カテゴリ ボックスの div の ID を知っている必要があります。
remove_meta_box() の詳細については、WordPress Codex をご覧ください。
このフィールドの最後のステップは、分類がカスタム フィールドとしてではなく、そのまま保存されていることを確認することです。これを行うには、このシリーズのパート 1 で作成した
save_custom_meta() 関数に戻って変更します。
リーリー
次に、次の行を追加します:リーリー
次に、foreach ループの後に次のコードを追加します。 リーリーこれは、カテゴリ選択フィールドから値を取得し、それを投稿のカテゴリ用語として設定するだけです。
发布选择
另一个不太可能但有用的字段是通过将 ID 保存在自定义字段中来将另一个帖子与某个帖子关联起来。这非常类似于 CMS,我发现它对于诸如链接幻灯片帖子类型以转到网站上的另一个帖子或页面之类的事情非常有用,只需从下拉菜单中选择它即可。您可以稍后在另一个函数中使用该 ID 查询该帖子,以从该帖子中获取您需要的任何信息。
array( 'label' => 'Post List', 'desc' => 'A description for the field.', 'id' => $prefix.'post_id', 'type' => 'post_list', 'post_type' => array('post','page') )
我们这里有所有常见的嫌疑人,但最后我们添加了一个额外的变量来保存您想要在列表中的帖子类型。您可以在此数组中包含帖子、页面和任何其他自定义帖子类型。
// post_list case 'post_list': $items = get_posts( array ( 'post_type' => $field['post_type'], 'posts_per_page' => -1 )); echo '<select name="'.$field['id'].'" id="'.$field['id'].'"> <option value="">Select One</option>'; // Select One foreach($items as $item) { echo '<option value="'.$item->ID.'"',$meta == $item->ID ? ' selected="selected"' : '','>'.$item->post_type.': '.$item->post_title.'</option>'; } // end foreach echo '</select><br /><span class="description">'.$field['desc'].'</span>'; break;
您可以添加很多选项来过滤此查询,但我们使用的是对设置帖子类型的所有帖子的基本抓取。
- 查询所有帖子
- 打开选择字段并添加空白值
- 循环遍历每个帖子,并将 ID 设置为选项的值,并将标有帖子类型的标题设置为可供选择的显示文本
- 关闭循环和选择字段并添加说明
结论
如果到目前为止您一直在关注本系列的两个部分,那么您的最终盒子应该如下图所示:
我们确实正在填写可重复使用的模板,用于创建可重复的自定义元框字段,并添加了这种高级甚至非正统的字段。我们将在下一篇文章中用一些更棘手但有用的字段(例如日期选择器和图像上传器)来结束该系列。
以上が詳細: 再利用可能なカスタム メタ ボックス: 詳細フィールドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
