Có thể tạo một hộp meta gắn nhiều hình ảnh vào bài viết không?
Có thể tạo một hộp meta gắn nhiều hình ảnh vào bài viết không?
Câu trả lời:
Đ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.
$post
và $args
trong ít nhất hai bối cảnh khác nhau, điều này khiến cho việc tìm ra chính xác những gì bạn đang cố gắng thực hiện bất cứ lúc nào rất khó khăn. Nhưng tôi đã kiểm tra mã tôi đã đăng ở trên và nó hoạt động ...
Dưới đâ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 nhân bản trường nhập 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
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.
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);