web-dev-qa-db-ja.com

Wordpressで複数ファイルアップロードメタボックスを作成する

複数のファイルをアップロードするためのメタボックスを作成しようとしています(画像またはファイルにすることができます)。

現在、私は私達がアップロードを押してデータを保存する時までアップロードフィールドとそれがうまく働いています。

唯一の問題はファイルを表示することです。

以下は私のコードです、私はメタボックスを表示するために使用しています:

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)現在のところ、投稿に添付されているすべてのファイルが表示されています。このメタボックスを使用してアップロードされたファイルのみを表示する必要があります。

2)ファイルの小さなサムネイルプレビューが必要です。

よろしく。

1
Himanshu Jain

質問1

どうすればよいかわかりませんが、imageリンクとファイルパスをmeta_postとして追加して、そこから値を取得してみてください。そのメタボックス。

メタボックスからアップロードしたファイルのみを照会するためにIDを追加するcustom-fields-to-attachmentsを試すこともできます。

質問2

このコードはうまくいくでしょう。

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