At the top of wp-admin/edit-form-advanced.php
我看到以下代码似乎与媒体上载程序相关:
if ( post_type_supports($post_type, \'editor\') || post_type_supports($post_type, \'thumbnail\') ) {
add_thickbox();
wp_enqueue_script(\'media-upload\');
}
您需要自己添加这些。
add_thickbox()
将脚本和样式都排队,因此请确保
print_styles
, 像
print_scripts
也无法打印样式。
add_action(\'admin_print_styles-post-new.php\', \'wpa4016_add_media_upload_scripts\');
add_action(\'admin_print_styles-post.php\', \'wpa4016_add_media_upload_scripts\');
function wpa4016_add_media_upload_scripts()
{
if ($GLOBALS[\'post_type\'] == \'wpa4016\') {
add_thickbox();
wp_enqueue_script(\'media-upload\');
}
}
现在我们需要添加上传按钮。我懂了
the_editor()
, 显示编辑器的函数有一个参数
$media_buttons
, 如果我们开始
true
它基本上执行
do_action(\'media_buttons\')
. 这依次调用
media_buttons()
, 哪个呼叫
_media_button()
对于每种媒体类型(图像、视频、音频等)。所以我们自己做!
add_action(\'edit_form_advanced\', \'wpa4016_edit_form_advanced\');
function wpa4016_edit_form_advanced()
{
if ($GLOBALS[\'post_type\'] == \'wpa4016\') {
echo _media_button(__(\'Add an Image\'), \'images/media-button-image.gif?ver=20100531\', \'image\');
}
}
附件确实是类型的自定义帖子
attachment
, 用他们的
post_parent
设置他们所属的岗位。图像有两个元字段:
_wp_attached_file
包含文件名,
_wp_attachment_metadata
包含一个数组,其中包含图像EXIF数据和指向同一图像不同大小的指针。您可以使用
wp_insert_attachment()
, 但我相信你仍然需要自己处理上传。