在WordPress中创建多个文件上传元数据

时间:2013-10-04 作者:Himanshu Jain

我正在尝试创建一个元盒来上载多个文件(可以是图像或文件)。

目前,我有上传字段和它的工作良好,直到我们按下上传并保存数据。

唯一的问题是显示文件。

下面是我的代码,我正在使用它来显示metabox:

case \'file_list\':
                    echo \'<input class="cmb_upload_file" type="text" size="36" name="\', $field[\'id\'], \'" value="" />\';
                    echo \'<input class="cmb_upload_button button" type="button" value="Upload File" />\';
                    echo \'<p class="cmb_metabox_description">\', $field[\'desc\'], \'</p>\';
                        $args = array(
                                \'post_type\' => \'attachment\',
                                \'numberposts\' => null,
                                \'post_status\' => null,
                                \'post_parent\' => $post->ID
                            );
                            $attachments = get_posts($args);
                            if ($attachments) {
                                echo \'<ul class="attach_list">\';
                                foreach ($attachments as $attachment) {
                                    echo \'<li>\'.wp_get_attachment_link($attachment->ID, \'thumbnail\', 0, 0, \'Download\');
                                    echo \'<span>\';
                                    echo apply_filters(\'the_title\', \'&nbsp;\'.$attachment->post_title);
                                    echo \'</span></li>\';
                                }
                                echo \'</ul>\';
                            }
                        break;
1)当前它会显示所有附加到post&;的文件;我只需要显示使用此元盒上载的文件。

2) 需要文件的小缩略图预览。

当做

1 个回复
SO网友:pl4g4

问题1

我不知道如何才能做到这一点,但你可以尝试将图像链接和文件路径添加为meta\\u post并从中获取值,当你获取值时,你将只获取从该metabox上载的来自该post的文件/图像。

您还可以尝试将自定义字段添加到附件中,在附件中添加ID以仅查询从该元数据库上载的文件。

问题2

此代码可以工作。

<?php wp_get_attachment_image( $attachment_id, $size, $icon, $attr ); ?>

结束

相关推荐

WordPress:可排序的Metabox字段不保存位置

我遇到了一个让我困惑的问题:升级到WP 3.6后,当您重新订购时,我的可排序metabox字段没有保存它们的位置。下面是我的代码:PHP:function save_box( $post_id ) { $post_type = get_post_type(); // verify nonce if ( ! isset( $_POST[\'custom_meta_box_nonce_field\'] ) ) return $p