Tin tức và phân tích của tất cả các thiết bị di động

Thảo luận về các loại bài đăng tùy chỉnh WordPress: Hàm.php hoặc Plugin?

Như nhiều bạn đã biết, tuần trước Syed Balkhi đã tham dự WordCamp Raleigh 2012. Trong sự kiện này, một trong những tweet của cô đã gây ra một cuộc tranh luận lớn. Trong bài viết này, người sáng lập Syed Balkhi của chúng tôi sẽ thảo luận về việc các loại bài đăng tùy chỉnh của WordPress thuộc về tệp tin.php hay plugin. Dưới đây là một tweet bắt đầu cuộc tranh luận này:

Không thêm các loại bài đăng tùy chỉnh trong hàm.php -> bạn LUÔN LUÔN sử dụng một plugin cụ thể của trang web: wpbeg.in/vcXr7j #wcraleigh

– Người mới bắt đầu WordPress (@wpbeginner) 4 Tháng 11 năm 2012

Sau dòng tweet, nhiều người có uy tín trong cộng đồng WordPress đã bước vào. Bạn có thể xem toàn bộ cuộc trò chuyện ở đây. Curtis McHale đã tiến thêm một bước và xây dựng về chủ đề trong bài đăng blog mới của mình.

Cuộc trò chuyện của Twitter đã mang lại một số điểm tuyệt vời.

Tóm tắt lập luận

Đối số plugin: Người dùng sẽ luôn có dữ liệu, ngay cả khi họ thay đổi chủ đề. Nó có thể trông không đẹp lắm, nhưng nó sẽ ở lại đó.

Đối số Hàm.php: Dữ liệu mà không có thiết kế sẽ không liên quan. Nó sẽ gây nhầm lẫn cho người dùng nhiều hơn.

Bạn đồng ý với bên nào nhất? Cả hai bên rõ ràng có vấn đề của họ, nhưng hai tệ nạn là gì?

Đây là lý do tại sao chúng tôi nghĩ rằng loại bài đăng tùy chỉnh nên MÃI MÃI sống trong một plugin cụ thể của trang web hoặc trong một plugin hoàn toàn.

Dữ liệu sống lâu

Các loại bài tùy chỉnh là dữ liệu. Trong hầu hết các trường hợp, dữ liệu của bạn sẽ tồn tại trong thiết kế hiện tại. Đã thay đổi chủ đề của chúng tôi nhiều lần, chúng tôi hiểu rõ tuyên bố đó. Bài đăng, trang, liên kết, tệp đính kèm và đánh giá là tất cả các loại bài đăng được bao gồm trong WordPress. Ngoài ra, chúng tôi có các loại ấn phẩm như sách, lời chứng thực, đề nghị, v.v. Bây giờ, bạn có thể tưởng tượng nếu chúng ta thay đổi một chủ đề và biến mất? Chắc chắn, chúng tôi không muốn điều đó xảy ra.

Có các nhà phát triển trong nhóm của chúng tôi, điều này không quan trọng lắm. Xem xét rằng tất cả các chủ đề của chúng tôi được thiết kế tùy chỉnh bởi nhóm của chúng tôi, nó thực sự tạo ra sự khác biệt gì? Bí mật nằm ở hai từ: thời gian và tập trung. Miễn là chúng ta có tất cả các dữ liệu cần thiết, tất cả những gì chúng ta phải làm trong tương lai là thay đổi phong cách. Chúng tôi sẽ không phải lo lắng về việc sao chép và dán các chức năng từ tệp này sang tệp khác mỗi lần. Nếu bạn muốn sao chép chức năng thì sao? Chỉ cần lấy plugin và thả nó trên trang web mới của bạn. Thay đổi phong cách và bạn đã hoàn tất.

Các quy tắc và tiêu chuẩn

Khi bạn sử dụng từ LUÔN LUÔN như chúng tôi đã làm trong tweet của mình, nó có thể có nghĩa là cả quy tắc và tiêu chuẩn. Cả hai quy tắc và quy định được thực hiện cho đa số. Sẽ luôn có những trường hợp đặc biệt trong đó các quy tắc bị bẻ cong và các tiêu chuẩn bị phá vỡ, nhưng điều đó không có nghĩa là chúng ta nên loại bỏ hoàn toàn các tiêu chuẩn.

Có hàng tấn các loại bài đăng chung chủ yếu yêu cầu cùng một bộ siêu dữ liệu bổ sung. Một số ví dụ xuất hiện trong tâm trí sẽ là: Báo giá, Sách, Bí quyết, Lời chứng thực, Danh mục đầu tư, v.v.

Xem xét số lượng lớn các chủ đề nhiếp ảnh và danh mục đầu tư có sẵn trên thị trường tự do và thương mại, hầu như không có lý do gì để người dùng nhập lại tất cả thông tin loại bài đăng tùy chỉnh của họ mỗi khi họ thay đổi chủ đề. Hãy xem một trường hợp ví dụ:

Nhiếp ảnh gia – Người dùng đã định cấu hình WordPress có chức năng blog (CPT “đăng” mặc định). Bạn muốn thêm một danh mục đầu tư của công việc của bạn (yêu cầu một danh mục đầu tư CPT). Bạn muốn hiển thị lời chứng thực của khách hàng (yêu cầu Lời chứng thực CPT). Tất cả thông tin này chắc chắn sẽ sống ngoài thiết kế của một chủ đề. Một năm sau, người dùng muốn thay đổi giao diện trang web của họ và cập nhật nó. Tìm một chủ đề mới có tất cả các chức năng tương tự. Thời điểm chủ đề thay đổi, BÙM. Tất cả dữ liệu trước đó bạn đã nhập đã biến mất. Có một menu gọi là Danh mục đầu tư và một menu có tên là Lời chứng thực, tuy nhiên không có dữ liệu nào ở đó. Người dùng nghĩ rằng “HOLY SHIT, tôi đã mất tất cả nội dung của mình.” Tạo câu hỏi hỗ trợ mới trong diễn đàn. Gửi email đến các trang web như WPBeginner, v.v. Nếu họ không nhận được câu trả lời tốt, họ phải nhập lại tất cả dữ liệu. Đây là một trải nghiệm người dùng khủng khiếp.

Vậy làm thế nào để chúng ta giải quyết vấn đề này?

Giải pháp khả thi?

Chúng tôi tạo ra một cơ sở tiêu chuẩn mới. Justin Tadlock đã bắt đầu làm việc về vấn đề này một thời gian trước bằng cách tạo một plugin danh mục đầu tư cơ sở. Nó sẽ là giải pháp hoàn hảo cho tất cả mọi người? KHÔNG, nhưng nó sẽ dành cho đa số.

Như Justin hỏi trong bài đăng của mình, những trường tiêu chuẩn nào nên được đưa vào plugin danh mục đầu tư (đề cập đến mục tiêu meta). Kiểu hội thoại này sẽ xảy ra giữa các nhà phát triển tạo ra chức năng tương tự trong các chủ đề của họ. Tại sao sao chép và dán cùng một thứ lặp đi lặp lại từ chủ đề này sang chủ đề khác khi nó có thể được thực hiện thông qua một plugin? Một khi nó trở thành một tiêu chuẩn, các tác giả chủ đề khác sẽ bắt đầu thích nghi với nó.

Ví dụ: chúng ta đang thấy sự gia tăng trong hỗ trợ kiểu cho Gravity Forms trong các khung chủ đề WordPress như Genesis và các loại khác. Tại sao? Bởi vì họ hiểu rằng người dùng của họ đang sử dụng nó.

Có một số chủ đề WordPress mạnh mẽ được tải với chức năng mà chúng tôi nghĩ nên là plugin. Chủ đề bảng công việc, chủ đề theo dõi vấn đề, chủ đề rao vặt, chủ đề bất động sản, vv Tất cả đều nên hoạt động với một plugin cơ sở. Ya está xảy ra với WooC Commerce. WooTheme đã phát hành nhiều chủ đề có hỗ trợ kiểu dựng sẵn cho plugin. Các công ty chủ đề khác cũng đã hứa sẽ ra mắt các chủ đề thương mại điện tử dựa trên WooC Commerce. Bạn có thể thay đổi từ chủ đề này sang chủ đề khác và giữ tất cả các sản phẩm của bạn như chúng là. Gần như thể chủ đề thay đổi, nhưng mọi thứ chỉ rơi đúng chỗ. Đó là kinh nghiệm thay đổi chủ đề mà chúng ta phải chiến đấu.

Tại sao không làm điều tương tự với Danh mục đầu tư, Lời chứng thực và các loại ấn phẩm được cá nhân hóa chung khác? Có phải vì nó quá đơn giản so với thương mại điện tử là một con thú lớn hơn để chinh phục? Rõ ràng, Thương mại điện tử có quá nhiều lĩnh vực so với các lĩnh vực khác, vì vậy nó sẽ dễ dàng hơn rất nhiều cho các loại bài đăng chung chung này. Nó chỉ là một vấn đề của một nỗ lực có ý thức để cải thiện mọi thứ.

Hãy xem plugin ReciPress. Tạo một metabox tùy chỉnh với các trường công thức và đính kèm nó với bài viết. Tuy nhiên, bạn có thể đính kèm nó với các loại bài tùy chỉnh. Bất cứ ai sử dụng plugin này đều có thể thay đổi chủ đề mà không gặp quá nhiều rắc rối.

Sẽ thật tuyệt khi thấy các chủ đề như AgentPress hoạt động với một plugin cơ sở tập trung. Sẽ thật tuyệt khi thấy rằng việc chuyển đổi các chủ đề thay đổi trở nên dễ dàng hơn. Ví dụ: nếu người dùng thay đổi từ chủ đề nhiếp ảnh này sang chủ đề nhiếp ảnh khác, thì đó không phải là sự hỗn loạn. Lỗi nhỏ có thể xảy ra, nhưng ít nhất trong bức tranh lớn, mọi thứ sẽ hoạt động.

Bạn luôn có thể đưa ra ví dụ về các loại bài đăng siêu tùy chỉnh được tạo cho khách hàng sử dụng một lần, nhưng đó là ngoại lệ, không phải là quy tắc.

Bạn nghĩ gì về chủ đề này? Mã loại bài đăng tùy chỉnh nên nằm ở đâu? Trong tập tin tests.php hoặc trong plugin?