Các plugin bổ sung là một sản phẩm của thiết kế


8

Các plugin bổ sung - khi bạn sao chép một plugin trực tiếp bên trong một chủ đề - một sản phẩm của thiết kế. Hoặc thực tế đã phát sinh "hữu cơ".


2
Cá nhân, tôi cảm thấy đây nên là wiki cộng đồng vì có thể không có một câu trả lời đúng nào cả ... nhưng tôi sẽ chờ ý kiến ​​khác.
EAMann

@EAMann Tôi đã có phản ứng ban đầu tương tự, nhưng có vẻ như đó là bây giờ! Coolio!
John P Bloch

Tôi nghĩ rằng tôi có thể đã đặt câu hỏi không chính xác. Tôi đã hỏi liệu đây có phải là một tính năng được hỗ trợ của WordPress hay không.
Mfield

Câu trả lời:


6

Nó thực sự phụ thuộc vào nhà phát triển và cách họ đã được đào tạo để sử dụng WordPress. Nói chung, tôi đã thấy hai trường phái tư tưởng:

Hữu cơ

Một số nhà phát triển tìm thấy một tính năng trong một plugin mà họ nghĩ là thực sự tuyệt vời. Thật không may, họ không chắc chắn làm thế nào để tự thực hiện nó nhưng thực sự muốn bao gồm các chức năng trong chủ đề của họ. Thay vì phát minh lại bánh xe, họ sẽ bao gồm một plugin thả trong chủ đề của họ và đi cùng với nó.

Trong phần lớn các trường hợp (không phải tất cả, nhưng hầu hết những gì tôi đã thấy), đây là hậu quả trực tiếp của sự thiếu kinh nghiệm trong nền tảng của nhà phát triển. Hoặc là họ không biết đủ PHP để tự xây dựng một hệ thống mới hoặc họ quá lười biếng để thử nó.

Sản phẩm thiết kế

Các nhà phát triển khác sẽ cố gắng phục vụ cho những khách hàng không biết gì hơn. Chủ đề của họ được xây dựng xung quanh, giả sử, một plugin biểu ngữ xoay lớn dựa trên Flash. Plugin này khá nổi tiếng, nhưng họ không biết liệu / khi nào tác giả gốc sẽ cập nhật hệ thống với mã mà chủ đề của họ sẽ không hiểu. Thay đổi lược đồ DB, thay đổi tham số, hook mới ... tất cả những thứ này có thể phá vỡ một chủ đề không cập nhật tương ứng.

Thay vì mạo hiểm khách hàng nhấp vào "cập nhật" mà không biết nó sẽ làm gì (hoặc có nguy cơ ràng buộc bản thân với một chuỗi cập nhật vô hạn cho khách hàng sau khi hoàn thành chủ đề), họ sẽ chụp nhanh phiên bản làm việc hiện tại và chăm chỉ -code nó vào chủ đề. Bằng cách đó, họ sẽ biết chắc chắn rằng nó sẽ luôn hoạt động với chủ đề của họ.

Kiểu như mã hóa cứng một tham chiếu bên ngoài trong Svn và sau đó vô hiệu hóa kiểm soát phiên bản để bạn không thể cập nhật nó :-)

Tại sao nó không quan trọng

Cho dù thực tiễn phát sinh hữu cơ hay cố ý, nó vẫn là một ý tưởng rất xấu !!!

Cho dù chủ đề có cập nhật hay không, liệu plugin có cập nhật hay không ... WordPress cuối cùng sẽ cập nhật. Giới hạn khách hàng của bạn trong một phiên bản duy nhất là, thẳng thắn, xúc phạm và kinh doanh xấu. Thay vì mã hóa cứng một plugin thả xuống, chỉ cần làm cho chủ đề của bạn chơi đẹp với các móc được cung cấp và khuyến khích người dùng cài đặt hệ thống khác. Nếu bạn đang sử dụng hook WordPress (hành động và bộ lọc) thay vì gọi hàm trực tiếp, bạn sẽ không gặp nhiều rủi ro về tính ổn định. Nếu hook thay đổi, tính năng sẽ bị vô hiệu hóa như thể plugin không được cài đặt.


+1 hoàn toàn đồng ý với phần lý do tại sao nó không quan trọng
Scott

Đồng ý với mọi thứ bạn nói ở đây. Chắc chắn là một thực hành xấu xa như tôi quan tâm. Tôi đã tự hỏi nếu WordPress được thiết kế để làm việc theo cách này. Hoặc là các tác giả chủ đề khai thác kiến ​​trúc của nó bằng cách đặt plugin sai vị trí?
Mfield

2
Các tác giả chủ đề đang khai thác kiến ​​trúc. Plugin có nghĩa là trong wp-content/pluginsvà chủ đề wp-content/themescho một lý do.
EAMann

Đây là những gì tôi nghĩ, nhưng không bao giờ thực sự biết :) Hoàn toàn có ý nghĩa với tôi vì chỉ một số plugin thực sự đơn giản thậm chí sẽ hoạt động theo cách này. Nhiều người khác sẽ yêu cầu sửa đổi.
Mfields

Tôi không nhất thiết phải đồng ý với câu trả lời này, ví dụ như trong trường hợp các Plugin dành riêng cho một Chủ đề nhất định (trong đó cả hai đều được viết bởi cùng một người, nhưng các plugin được giữ dưới dạng bổ trợ cho mô đun - cũng xem câu hỏi của tôi: wordpress .stackexchange.com / câu hỏi / 46364 / Mạnh )
julien_c
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.