カスタム フィールドをメディア ライブラリに追加するための非常に単純なプラグインを作成しましたが、データベースの wp_postmeta テーブルには、pdf のメタ データがないことが示されています。meta_value 列でシリアル化されたメタデータを取得することになっています。以下のプラグインは間違っていますか? プラグインは、カスタム フィールドの追加を実現しますが、データベースへの保存は実現しません。
meta_id post_id meta_value
552 356 a:0:{}
551 356
プラグイン コード
<?php
/*
Plugin Name: Media Library Fields
Plugin URI: http://mhmintranet
Description: The plugin adds additional fields to the media library
Version: 1.0
Author: me
Author URI: Metropolitan State Hospital http://mhmintranet
License: GPL2
*/
function GetCustomFormFields($form_fields, $post)
{
$form_fields['RevisionDate'] = array(
'label' => 'Revision Date',
'input' => 'text',
'value' => get_post_meta($posdt->ID, '_RevisionDate',true),
'helps' => 'This is the date the document was revised last'
);
$form_fields['ADTitle'] = array(
'label' => 'AD Title',
'input' => 'text',
'value' => get_post_meta($posdt->ID, '_ADTitle',true),
'helps' => 'Administrative Directive Title'
);
$form_fields['AdNumber'] = array(
'label' => 'AD Number',
'input' => 'text',
'value' => get_post_meta($posdt->ID, '_AdNumber',true),
'helps' => 'Administrative Directive Title'
);
return $form_fields;
}
add_filter("attachment_fields_to_edit", "GetCustomFormFields", null, 2);
function SaveCustomFormFields($post,$attachment)
{
if(isset($attachment['RevisionDate']))
{
update_post_meta($post['ID'], '_RevisionDate', $attachment['RevisionDate']);
}
if(isset($attachment['ADTitle']))
{
update_post_meta($post['ID'], '_ADTitle', $attachment['ADTitle']);
}
if(isset($attachment['AdNumber']))
{
update_post_meta($post['ID'], '_AdNumber', $attachment['AdNumber']);
}
return $post;
}
add_filter('attachment_fields_to_save','SaveCustomFormFields');
?>