ホームページ >CMS チュートリアル >&#&プレス >WordPressにタイプを投稿するためにメタボックスを追加します
WordPress Webサイトビルダーまたは開発者は、多くの場合メタボックスを使用します。この記事では、メタボックスとカスタム記事タイプとの関連性と統合、およびメタボックスを使用してWordPressフロントエンドで保存されたデータを使用する方法に飛び込みます。
コアポイント
add_meta_boxes
アクション)を使用して、任意の記事タイプの編集インターフェイスにメタボックスを追加します。この関数を使用して、メタボックスを複数の記事タイプ(記事、ページ、カスタム記事タイプ「書籍」など)、または既存および将来のすべての記事タイプに追加できます。 add_meta_boxes
アクションフックに追加することにより、特定の記事タイプに制限できます。 register_post_type()
関数は、記事タイプをカスタマイズするために使用され、そのパラメーター配列にはregister_meta_box_cb
が含まれます。その値は、メタボックスを設定するときに呼び出されるコールバック関数です。 global_notice_meta_box_callback
関数には、メタボックスのフォームフィールドが含まれています。 save_post
アクションフックドラフトまたは公開として記事を保存するときに、テキスト領域に保存されたプロセスデータをフックします。このデータは、対応する記事コンテンツを保存する前に、メタボックスに入力されたデータを表示することにより、効果的に利用できます。 メタボックスを記事タイプの画面
に追加しますNarayan Prustyは、すべてではないにしても、PHP関数、パラメーター、およびメタボックスを作成するアクションフックをカバーしています。
任意の記事タイプの編集画面にメタボックスを追加するには、add_meta_box()
関数を使用してadd_meta_boxes
アクションに添付できます。
次のコードは、メタボックスを記事編集画面に追加します。メタボックスにフォームフィールドを表示するために使用されるglobal_notice_meta_box_callback
関数に注意してください。後で詳細に紹介します。
<code class="language-php">function global_notice_meta_box() { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback', 'post' ); } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>
複数の投稿タイプ画面(記事、ページ、およびカスタムポストタイプ「本」)にメタボックスを追加するには、記事タイプ配列を作成し、配列をループし、タイプのadd_meta_box()
を使用してこれらの投稿に追加します。
<code class="language-php">function global_notice_meta_box() { $screens = array( 'post', 'page', 'book' ); foreach ( $screens as $screen ) { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback', $screen ); } } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>
既存および将来のすべての作成された記事タイプにメタボックスを追加するには、記事タイプアレイを取得し、上記の値を置き換えます。 get_post_types()
$screen
<code class="language-php">function global_notice_meta_box() { $screens = get_post_types(); foreach ( $screens as $screen ) { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback', $screen ); } } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>)パラメーターを省略して、既存のすべての投稿タイプと新しい投稿タイプに追加することもできます。
$screen
記事タイプ名(この場合は "book")を
<code class="language-php">function global_notice_meta_box() { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback' ); } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>
add_meta_boxes
関数は、記事の種類をカスタマイズするために使用され、そのパラメーター配列には
<code class="language-php">function global_notice_meta_box() { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback' ); } add_action( 'add_meta_boxes_book', 'global_notice_meta_box' );</code>
次のコードを使用して「本」と呼ばれるカスタム記事タイプを作成するとします。
<code class="language-php">function global_notice_meta_box() { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback', 'post' ); } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>
global_notice_meta_box
関数定義を追加すると、「本」のカスタム記事タイプの編集画面にメタボックスが追加されます。 register_meta_box_cb
add_meta_box()
繰り返しますが、これは
global_notice_meta_box
<code class="language-php">function global_notice_meta_box() { $screens = array( 'post', 'page', 'book' ); foreach ( $screens as $screen ) { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback', $screen ); } } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>関数を作成する必要があります。
global_notice_meta_box_callback
以下は、メタボックスにテキスト領域フィールドを含む
global_notice_meta_box_callback
<code class="language-php">function global_notice_meta_box() { $screens = get_post_types(); foreach ( $screens as $screen ) { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback', $screen ); } } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>
アクションフックドラフトまたは公開として記事を保存する際にテキスト領域に保存されたプロセスデータをフックします。
save_post
<code class="language-php">function global_notice_meta_box() { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback' ); } add_action( 'add_meta_boxes', 'global_notice_meta_box' );</code>
<code class="language-php">function global_notice_meta_box() { add_meta_box( 'global-notice', __( '全局公告', 'sitepoint' ), 'global_notice_meta_box_callback' ); } add_action( 'add_meta_boxes_book', 'global_notice_meta_box' );</code>コード説明
最初に、
関数を作成し、記事コンテンツを含むパラメーターを使用してglobal_notice_before_post
フィルターに添付します。 the_content
関数の内部には、現在表示されている記事のwp_postオブジェクトが含まれるグローバル$content
変数を含めます。
特定の記事のために保存されたグローバルアナウンスを$post
に取得し、それらを
get_post_meta
次に、アナウンスをdivにラップして、$global_notice
変数に保存します。
最後に、$notice
に接続して、実際の記事コンテンツに接続します。
以下は、記事の内容の前にグローバルな発表を含む記事のスクリーンショットです。 $notice
$content
概要
また、メタボックスにフォームフィールドを追加する方法と、記事を保存または公開するときに入力データを保存する方法も確認しました。 最後に、入力されたデータをMetaboxに配置する方法を紹介します。
将来の記事では、記事タイプの管理画面にコンテキストヘルプタブを追加する方法について説明します。
質問や提案がある場合は、コメントでお気軽にお問い合わせください。
WordPressの記事タイプにメタボックスを追加する際のFAQWordPressのメタボックスとは何ですか? WordPressのメタボックスは、管理インターフェイスに表示されるドラッグ可能なボックスです。これらのボックスは、追加の入力フィールドを表示するために使用され、ユーザーはさまざまな種類の記事の機能とレイアウトをカスタマイズできます。記事、ページ、カスタム投稿タイプに追加できます。メタボックスには、テキスト、チェックボックス、選択オプションなど、さまざまな種類のフィールドを含めることができます。
WordPressのカスタム投稿タイプにメタボックスを追加する方法は? WordPressのカスタム投稿タイプにメタボックスを追加するには、関数を使用する必要があります。この関数を使用すると、メタボックスID、タイトル、コールバック関数、記事タイプ、コンテキスト、および優先度を指定できます。コールバック関数は、メタボックスの内容を出力するために使用されます。
add_meta_box()
はい。各メタボックスには、競合を避けるために一意のIDが必要です。 関数を複数回使用して、異なるパラメーターを使用して複数のメタボックスを追加できます。
add_meta_box()
メタボックスフィールドに入力されたデータを保存するには、アクションに関数を添付する必要があります。この関数は、NONCEをチェックし、現在のユーザーの権限を確認し、またはsave_post
update_post_meta()
add_post_meta()
関数を使用できます。この関数は、データベースからMetaboxデータを取得し、文字列として返し、テンプレートファイルに出力できます。
get_post_meta()
関数を使用する場合、記事タイプを「ページ」として指定して、ページにメタボックスを追加できます。
add_meta_box()
関数を使用できます。この関数には、パラメーターとしてメタボックスIDと記事タイプが必要です。
remove_meta_box()
関数のパラメーターは、メタボックスの位置を決定します。考えられる値は、「通常」、「サイド」、「高度」です。
add_meta_box()
context
パラメーターとして使用する必要があります。
add_meta_box()
post_type
以上がWordPressにタイプを投稿するためにメタボックスを追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。