Tôi cần tạo một hộp meta bài đăng tùy chỉnh cho loại bài đăng tùy chỉnh "Trình chiếu" (loại bài đăng này đã được tạo). Mỗi metabox sẽ giữ nội dung trong mỗi slide slide và lưu nó vào các trường tùy chỉnh tương ứng. Mỗi metabox nên chứa các trường sau:
- Tiêu đề (Trường văn bản)
- Hình ảnh (Hoặc là Trường văn bản cho URL img hoặc lý tưởng nhất là Danh sách thả xuống hiển thị hình thu nhỏ của hình ảnh được đính kèm với bài đăng)
- Mã nhúng (Vùng văn bản)
- Mô tả (wysiwyg)
- Ẩn Slide (Hộp kiểm để sử dụng để tạm thời ẩn một slide mà không xóa nó)
- Xóa Slide (nút xóa nội dung của các trường meta bài đăng được điền bởi slide này)
Tôi cũng muốn có một nút ở đâu đó cho phép tôi "Thêm một slide" để khi nó được nhấp, nó sẽ thêm một Hộp Meta Custom "Slide" khác, trùng lặp với số đầu tiên nhưng thêm số tăng vào mỗi trường meta bài tùy chỉnh. Tôi hiện chỉ có 15 metabox và mẫu Trình chiếu được thiết lập theo cách nếu chỉ có 5 trong số các metabox được điền vào thì chỉ có 5 slide hiển thị.
Cuối cùng, tôi muốn có thể sắp xếp lại các trang chiếu, cho dù bằng cách "Kéo và thả" hoặc bằng một Trường văn bản khác mà tôi có thể nhập số thứ tự.
Tôi đã nhận được nó gần như là nơi tôi cần với plugin "Nhiều lĩnh vực" hơn và một số trợ giúp về mã từ Rarst. Với plugin "Nhiều lĩnh vực" hơn, tôi có các trường sau trong mỗi siêu dữ liệu:
- Tiêu đề (Trường văn bản)
- Hình ảnh (Danh sách thả xuống của hình ảnh được đính kèm với bài đăng)
- Mã nhúng (Vùng văn bản)
- Mô tả (wysiwyg)
- Ẩn Slide (Hộp kiểm để sử dụng để tạm thời ẩn một slide mà không xóa nó)
Dưới đây là ảnh chụp màn hình về cách tôi thiết lập nó thông qua plugin "Nhiều lĩnh vực" hơn:
Vấn đề với điều này là không có cách nào để xóa một slide khi nó được tạo bởi vì "Nhiều lĩnh vực" không sử dụng ở <?php delete_post_meta($post_id, $key, $value); ?>
bất cứ đâu. Vấn đề khác với plugin là nó quá không đáng tin cậy và thường xuyên bị hỏng với các bản cập nhật.
Tôi đã có thể thực hiện một giải pháp tương tự với các metabox tùy chỉnh của riêng mình bao gồm:
- Tiêu đề (Trường văn bản)
- Hình ảnh (Trường văn bản cho URL img)
- Mã nhúng (Vùng văn bản)
- Mô tả (Vùng văn bản)
- Ẩn Slide (Hộp kiểm để sử dụng để tạm thời ẩn một slide mà không xóa nó)
Với cách triển khai này, tôi dường như không thể làm cho nhiều trường TinyMCE hoạt động hoặc hộp thả xuống hình ảnh. Mã TinyMCE dường như hoạt động cho đến khi tôi thêm mã tạo các bản sao tăng dần của siêu dữ liệu đầu tiên tại thời điểm tôi gặp lỗi này ngay phía trên trường nơi các nút TinyMCE phải là : Warning: array_push() [function.array-push]: First argument should be an array...
.
Ngoài ra, ngay bây giờ tôi đang dựa vào các tác giả của mình để biết đưa vào EITHER một video hoặc một hình ảnh cho mỗi slide và điều đó tốt hơn nhưng có một nút radio cho phép họ chọn một slide nào (có thể mặc định là hình ảnh) được gắn với một tuyên bố hiển thị có điều kiện trong mẫu trình chiếu.
Tôi đang xử lý tải lên hình ảnh thông qua hộp "Hình ảnh nổi bật" tích hợp trong thanh bên mặc dù tôi không bận tâm đến một siêu dữ liệu tùy chỉnh chỉ đơn giản nói "Tải lên hình ảnh" ở đầu bảng ghi.
Cuối cùng, tôi đang tìm kiếm một slideshow tương tự như thế này: http : //www.nytimes.com/sl lanh / 2010/08/10 / science / 201810angier-1.html . Tôi muốn tôi cũng có thể có một video dưới dạng nội dung trong slide thay vì hình ảnh. Tôi cần một bảng quản trị trực quan và dễ sử dụng cho các nhà văn của mình (họ không rành về công nghệ và không đáng tin cậy khi sử dụng html và / hoặc shortcodes). Chỉ trong trường hợp không rõ ràng từ ví dụ, mọi slide sẽ tạo ra một lần xem trang mới.
Sắp xếp lại Drag'n'Drop không phải là ưu tiên cao nhưng sẽ rất tuyệt. Tôi tìm thấy một plugin xử lý việc này thực sự tốt: SlideDeck . Thật không may, plugin không phù hợp với nhu cầu của tôi, nhưng cách họ xử lý việc đặt hàng các slide khá lắt léo. Đó là một metabox riêng biệt trong thanh bên cho phép bạn kéo các slide xung quanh theo thứ tự bạn muốn. Đây cũng là cách bạn thêm các trang chiếu, bằng cách nhấp vào nút "Thêm trang chiếu" để thêm một Bản chiếu Metabox khác vào bảng ghi. Đây là một ảnh chụp màn hình:
Bạn cũng có thể xem thêm ảnh chụp màn hình của nó trong kho lưu trữ wordpress .
Đây là tất cả mã của tôi:
Các chức năng thiết lập Loại bài đăng trình chiếu và Trình chiếu trình chiếu của tôi: http://loak.pastebin.com/g63Gf186
Mã ban đầu từ DeluxeBloggingTips.com (DBT) mà tôi dựa trên Metaboxes của mình từ: http://loak.pastebin.com/u9YTQrxf
Phiên bản mã DBT mà tôi đã sửa đổi để cung cấp cho tôi các phiên bản gia tăng của cùng một metabox: http://loak.pastebin.com/WtxGdPrN
Một phiên bản sửa đổi của mã DBT mà Chris Burbridge đã tạo để cho phép nhiều phiên bản của TinyMCE: http://loak.pastebin.com/Mqb3pKhx Với mã này, TinyMCE hoạt động.
Việc sửa đổi mã Burbridge của tôi cố gắng kết hợp gia tăng của tôi và trường cho phép bạn chọn hình ảnh từ danh sách thả xuống của tất cả các hình ảnh được đính kèm vào bài đăng: http://loak.pastebin.com/xSuenJTK Trong lần thử này, TinyMCE bị hỏng và thả xuống không hoạt động.
Điều này có thể không quan trọng nhưng chỉ trong trường hợp bạn đang tự hỏi, đây là mã tôi sử dụng để lấy mã nhúng từ meta bài đăng tùy chỉnh, thay đổi kích thước và chèn nó vào bài đăng: http://loak.pastebin.com / n7pAzEAw
Đây là phiên bản chỉnh sửa của câu hỏi ban đầu để phản ánh tình trạng hiện tại của dự án và trả lời các câu hỏi được đăng trong các bình luận. Cảm ơn Chris_O vì đã đưa tiền thưởng vào việc này. Ngoài ra, cảm ơn Rarst và Justin đã giúp tôi giải quyết rất nhiều điều này trong diễn đàn ThemeHy điều.com . Tôi đã dành hàng giờ đồng hồ cho việc này và bị mắc kẹt (tôi đã dành một vài giờ một mình cho Câu hỏi này). Mọi sự trợ giúp sẽ rất được trân trọng.