Trong video này, tôi thảo luận về một tình huống "thế giới thực" cụ thể mà tôi đã tham gia liên quan đến cách xử lý trang CodePen Meetups.
Vào những ngày đầu của CodePen Meetups, chúng tôi chỉ có một kế hoạch duy nhất. Đây là buổi Gặp mặt CodePen đầu tiên ở Austin, Texas. Vì vậy, tôi đã tạo một trang cho nó như một phần của trang web CodePen chính (một dự án Rails) tại URL / metups /. Ở đó, tôi phải thiết kế nó theo cách tôi muốn. Tôi đã tìm ra loại thông tin cần có trên trang đó và cách trình bày thông tin đó. (Trong video, chúng tôi đã đào được một bản sao của trang web vào thời điểm đó, thông qua Trang được lưu trong bộ nhớ cache (ảnh chụp màn hình)).
Thời gian trôi qua. Tôi đã thêm một vài cuộc gặp gỡ vào đó và hình thức hiển thị nhiều cuộc gặp gỡ trên trang đã thành hình. Tôi đã tìm ra những mẩu thông tin nào phổ biến trong tất cả các cuộc hội ngộ và cách thể hiện điều đó. Đồng thời, các bản cập nhật trở nên tẻ nhạt. Thêm những cái mới là công việc. Rất dễ để quên loại bỏ những cái cũ. Và nó khá tệ khi chỉ xóa HTML như vậy, khi biết rằng đó là thông tin hữu ích tiềm năng mà bạn đang phá hủy. Tôi vừa mới chỉnh sửa một mẫu HTML ở đây.
Đã đến lúc điều này thực sự cần được hệ thống hóa và chuyển thành Hệ thống quản lý nội dung. May mắn thay, việc di chuyển khá dễ dàng, vì tôi biết chính xác những gì tôi cần và tôi biết mình có công cụ để thực hiện nó. Chúng tôi đã thực sự làm điều này trước đây vài lần. Ví dụ ở đây và ở đây.
Nó có một cái gì đó như thế này:
- Tạo Loại bài đăng tùy chỉnh mới (“Buổi gặp mặt”) với plugin này.
- Đính kèm chính xác các trường tùy chỉnh bạn muốn vào CPT đó (ngày, giờ, địa điểm, v.v.).
- Xuất bản đi!
Chúng tôi thiết lập has_archive
để true
cho CPT của chúng tôi, vì vậy chúng tôi đã nhận URL / meetups / miễn phí, trong đó sử dụng mẫu 'archive-meetups.php` tự động. Tuy nhiên, chúng tôi cần thực hiện công việc tùy chỉnh nghiêm túc trên mẫu đó, vì chúng tôi phải:
- Hiển thị tất cả thông tin chúng tôi cần theo cách chúng tôi muốn.
- Hiển thị các cuộc gặp gỡ sắp tới theo thứ tự ngày.
- Tự động chuyển các cuộc hội ngộ cũ sang phần "Các cuộc hội ngộ trước đây".
Tất cả hoàn toàn có thể làm được. Trước tiên, hãy truy vấn các cuộc gặp gỡ mà chúng tôi muốn (sau ngày hôm nay). Chúng tôi làm điều đó bằng cách chạy một truy vấn tùy chỉnh liên quan đến trường tùy chỉnh thích hợp
'meetups', 'posts_per_page' => -1, 'meta_key' => 'date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'date', 'compare' => '>=', 'value' => $today )) )); foreach ($myposts as $post) : setup_postdata($post); // The loop! Output stuff! endforeach; wp_reset_postdata(); ?>
Việc xuất các trường tùy chỉnh rất dễ dàng với Trường tùy chỉnh nâng cao. Nó cung cấp cho bạn một hàm mà bạn có thể sử dụng như thế này, chỉ cần đặt tên cho trường:
Chúng tôi chỉ đưa loại đầu ra đó vào HTML hiện có mà chúng tôi đã sử dụng trong mẫu mới này. Sau đó, chúng tôi chạy một vòng lặp khác, chỉ với so sánh ngày được đảo ngược, cho các cuộc gặp gỡ trước đây.
Không có gì hấp dẫn ở đây, tôi chỉ thấy hứng thú với loại điều này vì:
- Nó cảm thấy hiệu quả cao, đối với một lượng công việc nhỏ như vậy (tôi đã làm điều đó khi nằm trên ghế dài một đêm).
- Tôi có thể làm điều đó mà không cần phải sửa lỗi cho nhóm để phát triển thứ gì đó lạ mắt, tôi có thể sử dụng các kỹ năng của nhà phát triển front-end của mình để làm điều đó. (Tôi coi việc mày mò các chủ đề và chức năng cơ bản của WordPress là một kỹ năng giao diện người dùng).
Và tất nhiên, WordPress không cần thiết cho việc này. Tôi chắc rằng điều đó có thể xảy ra trong bất kỳ CMS nào. Đó là những gì của CMS. Tôi chỉ thích và biết WordPress tốt nhất.