Answers:
这完全取决于您所说的“附加”。
每个WordPress帖子已经可以具有多个媒体附件-照片,文档等。您可以使用内置的上传器上传这些附件,并且它们都将被标记为“附加”到该特定的帖子ID。
您可以稍后在其他地方以编程方式引用这些内容。例如,以下代码将列出特定帖子的所有附件(来自Snipplr的代码):
$args = array(
'post_type' => 'attachment',
'numberposts' => null,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
foreach ($attachments as $attachment) {
echo apply_filters('the_title', $attachment->post_title);
the_attachment_link($attachment->ID, false);
}
}
所有这些功能都可以通过新帖子屏幕上“上传/插入”最右边的默认“添加媒体”按钮进行访问。添加一幅图像后,可以再次单击“选择文件”,然后上传另一幅图像。然后三分之一。然后四分之一。随你想要。
这些图像中的每一个都会“附加”到帖子中,即使它们没有插入内容中也是如此。
$post
,并$args
至少在两个不同的上下文中,这使得它很难找出它到底是什么你想在任何一个时间做。但是我确实测试了上面发布的代码,它确实起作用了……
这是一个完整的教程,其中包含可完全满足您需要的源文件。
您可以通过克隆输入字段来上传多张图片,还可以预览,使用ajax删除图片,向多个/不同的帖子类型添加多个metabox。
http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html
我还建议您查看http://www.wpalchemy.com。WPAlchemy是一个踢屁股“类”(在插件附近),可轻松将自定义元框添加到您的站点。我广泛使用它,并且对开发人员和新兴社区的易用性和承诺印象深刻。
是的,这很有可能。看到一个响应我得到metaboxes。基本上,您只想添加一个钩子save_post
并验证现时字段。
function my_save_post_callback( $post_id, $post )
{
if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
{
return $post->ID;
}
// Handle the upload here
}
add_action( 'save_post', 'my_save_post_callback', 1, 2);