• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「プラグイン API/フィルターフック一覧/attachment fields to edit」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(場所フィールドを追加する)
 
19行目: 19行目:
  
 
=== 場所フィールドを追加する ===
 
=== 場所フィールドを追加する ===
次の例では、すべての添付ファイルに「場所」フィールドを追加します。この例では、 "[[プラグイン_API/アクションフック一覧/edit_attachment|edit_attachment]]" フィルターを使用して、提出された値を添付ファイルの投稿メタに保存します。
+
次の例は、すべての添付ファイルに「場所」フィールド(スラッグ: location)を追加します。さらにアクション "[[プラグイン_API/アクションフック一覧/edit_attachment|edit_attachment]]" を使用して、送信された値を添付ファイルの投稿メタ(スラッグ: location)に保存します。
  
 
<pre>
 
<pre>
42行目: 42行目:
 
</pre>
 
</pre>
  
== 関連 ==
+
== 関連項目<span id="Related"></span> ==
* フィルター : '''attachment_fields_to_edit'''
+
* フィルター : [[プラグイン_API/フィルターフック一覧/attachment_fields_to_edit|attachment_fields_to_edit]]
* フィルター : {{attachment_fields_to_save}}
+
* フィルター : [[プラグイン_API/フィルターフック一覧/attachment_fields_to_save|attachment_fields_to_save]]
  
 
== 外部リソース ==
 
== 外部リソース ==
50行目: 50行目:
 
* [https://make.wordpress.org/core/2012/12/12/attachment-editing-now-with-full-post-edit-ui/ Attachment editing: now with full post edit UI!] (Make WordPress Core)
 
* [https://make.wordpress.org/core/2012/12/12/attachment-editing-now-with-full-post-edit-ui/ Attachment editing: now with full post edit UI!] (Make WordPress Core)
  
== 関連項目 ==
+
== 参考<span id="See Also"></span> ==
  
* [[プラグイン_API#.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3.E9.96.A2.E6.95.B0.E3.81.AE.E4.BD.9C.E6.88.90|アクション関数の作成]]
+
* [[プラグイン_API#Create_a_Filter_Function|フィルター関数の作成]]
 
* [[関数リファレンス/add_filter]]
 
* [[関数リファレンス/add_filter]]
 
  
 
{{原文|Plugin_API/Filter_Reference/attachment_fields_to_edit}}
 
{{原文|Plugin_API/Filter_Reference/attachment_fields_to_edit}}

2017年10月4日 (水) 05:05時点における最新版

説明

"attachment_fields_to_edit" フィルターは、添付ファイルを編集するときに表示される添付ファイルフィールドの配列をフィルタリングするために使用されます。

使い方

'attachment_fields_to_edit' フィルターが呼び出されると、2つの引数が渡されます。第1引数は、表示されるフィールドを説明する連想配列です。2番目の引数は、編集中の添付ファイルを記述する $post オブジェクトです。フィルターに接続された関数は、配列にフィールドを追加または削除し、変更された配列を返すことができます。

function filter_function_name( $form_fields, $post ) {
  // ...
}
add_filter( 'attachment_fields_to_edit', 'filter_function_name', 10, 2 );

filter_function_name は、$form_fields 配列の取得時に WordPress が呼び出す関数です。フィルター関数は、処理が終了した後にフィールドの配列を返さなければならないこと、もしくは添付ファイルを編集するときにフィールドが表示されないこと、そして $form_fields 配列をフィルタリングする他のプラグインがエラーを生成する可能性があることに注意してください。

filter_function_name は一意の関数名でなければなりません。既に宣言されている他の関数名と一致することはできません。

用例

場所フィールドを追加する

次の例は、すべての添付ファイルに「場所」フィールド(スラッグ: location)を追加します。さらにアクション "edit_attachment" を使用して、送信された値を添付ファイルの投稿メタ(スラッグ: location)に保存します。

function my_add_attachment_location_field( $form_fields, $post ) {
    $field_value = get_post_meta( $post->ID, 'location', true );
    $form_fields['location'] = array(
        'value' => $field_value ? $field_value : '',
        'label' => __( 'Location' ),
        'helps' => __( 'Set a location for this attachment' )
    );
    return $form_fields;
}
add_filter( 'attachment_fields_to_edit', 'my_add_attachment_location_field', 10, 2 );

function my_save_attachment_location( $attachment_id ) {
    if ( isset( $_REQUEST['attachments'][$attachment_id]['location'] ) ) {
        $location = $_REQUEST['attachments'][$attachment_id]['location'];
        update_post_meta( $attachment_id, 'location', $location );
    }
}
add_action( 'edit_attachment', 'my_save_attachment_location' );

関連項目

外部リソース

参考

最新英語版: WordPress Codex » Plugin_API/Filter_Reference/attachment_fields_to_edit