创建一个metabox上传多张图片


Answers:


7

这完全取决于您所说的“附加”。

每个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);
    }
}

所有这些功能都可以通过新帖子屏幕上“上传/插入”最右边的默认“添加媒体”按钮进行访问。添加一幅图像后,可以再次单击“选择文件”,然后上传另一幅图像。然后三分之一。然后四分之一。随你想要。

这些图像中的每一个都会“附加”到帖子中,即使它们没有插入内容中也是如此。


由于某些奇怪的原因,即使其余的已附加,我也只能获得该代码以输出模板中的第一个附件。有任何想法吗?这是代码... dl.dropbox.com/u/497583/code/wp-attactments.txt
agileapricot 2011年

您需要使用一些不同的变量。您同时使用$post,并$args至少在两个不同的上下文中,这使得它很难找出它到底是什么你想在任何一个时间做。但是我确实测试了上面发布的代码,它确实起作用了……
EAMann 2011年

6

这是一个完整的教程,其中包含可完全满足您需要的源文件。
您可以通过克隆输入字段来上传多张图片,还可以预览,使用ajax删除图片,向多个/不同的帖子类型添加多个metabox。

http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html


我第二。它像一种魅力。
Manny Fleurmond

虽然您提供的链接现在已失效,但参考项目已转变为成熟的对开发人员友好的插件/库。请参阅:wordpress.org/plugins/meta-boxgithub.com/wpmetabox ...看起来很棒。
凯瑞·兰道夫

2

我还建议您查看http://www.wpalchemy.com。WPAlchemy是一个踢屁股“类”(在插件附近),可轻松将自定义元框添加到您的站点。我广泛使用它,并且对开发人员和新兴社区的易用性和承诺印象深刻。


0

是的,这很有可能。看到一个响应我得到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);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.