我编写了一个非常简单的插件来向媒体库添加自定义字段,但在数据库 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');
?>