it-swarm-vi.tech

Tạo một metabox để tải lên nhiều hình ảnh

Có thể tạo một hộp meta gắn nhiều hình ảnh vào bài viết không?

8
agileapricot

Điều đó phụ thuộc hoàn toàn vào những gì bạn có nghĩa là "đính kèm."

Mỗi bài đăng WordPress có thể có nhiều tệp đính kèm phương tiện - ảnh, tài liệu, v.v. Bạn tải chúng lên bằng trình tải lên tích hợp và tất cả chúng sẽ được đánh dấu là "đính kèm" với ID bài đăng cụ thể đó.

Bạn có thể tham khảo những điều này sau đó lập trình ở nơi khác. Ví dụ: đoạn mã sau sẽ liệt kê tất cả các tệp đính kèm cho một bài đăng cụ thể (mã từ 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);
    }
}

Tất cả các chức năng này có thể truy cập thông qua nút "Thêm phương tiện" mặc định ở phía bên phải của "Tải lên/Chèn" trên màn hình bài đăng mới. Sau khi bạn thêm một hình ảnh, bạn có thể nhấp vào "Chọn tệp" một lần nữa và tải lên hình ảnh thứ hai. Rồi một phần ba. Sau đó, một thứ tư. Như nhiều như bạn muốn.

Mỗi hình ảnh này sẽ được "đính kèm" vào bài đăng ... ngay cả khi chúng không được chèn vào nội dung.

7
EAMann

Đây là một hướng dẫn đầy đủ với các tệp nguồn thực hiện chính xác những gì bạn muốn,
[.___.] Bạn có thể tải lên nhiều hình ảnh bằng cách sao chép trường nhập liệu và bạn cũng có thể xem trước, xóa hình ảnh bằng ajax, thêm nhiều metaboxes vào nhiều loại bài đăng khác nhau và hơn thế nữa.

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

6
Philip

Tôi cũng khuyên bạn nên kiểm tra http://www.wpalchemy.com . WPAlchemy là một "lớp" kick ass (gần một plugin) để dễ dàng thêm các hộp meta tùy chỉnh vào trang web của bạn. Tôi sử dụng nó rộng rãi và đã bị ấn tượng bởi sự dễ sử dụng và cam kết của nhà phát triển và cộng đồng đang phát triển.

2
internetross

Vâng, nó hoàn toàn có thể. Xem phản hồi Tôi đã nhận được về metaboxes. Về cơ bản, bạn sẽ chỉ muốn thêm một hook cho save_post và xác minh trường nonce.

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);
0
Zack