Tầm quan trọng của việc viết một plugin tương thích <WP 3.x hiện nay là gì?


8

Tôi hiện đang viết một plugin đơn giản với các bài đăng tùy chỉnh và một vài chức năng, sử dụng siêu dữ liệu bài đăng và thêm một vài biến vào bảng "tùy chọn" trong cơ sở dữ liệu. Trong quá trình nghiên cứu, tôi đã thấy một số tài liệu tham khảo trong WP Codex về việc làm cho plugin tương thích ngược với các phiên bản trước WP 3.x và tôi chỉ tự hỏi bây giờ nó quan trọng như thế nào khi kết hợp khả năng tương thích đó.

Chẳng hạn, phiên bản WP cũ nhất mà tôi từng thấy được cài đặt (bởi một khách hàng) là 3.2 hoặc ở đâu đó quanh đó. Tôi không thể tưởng tượng nhiều người có bất cứ điều gì lớn hơn 3.x nhưng tôi có thể sai. Tôi biết trên lý thuyết bạn nên luôn cố gắng làm cho nó tương thích hoàn hảo, nhưng thực tế, có ai biết tầm quan trọng của việc bao gồm khả năng đó không?

Cảm ơn


5
Hãy xác định X trong 3.x . Trong lược đồ phiên bản WordPress, XY là một phiên bản chính . Vì vậy, 3.0 không nhiều hơn hoặc ít hơn 3,1. Ngoài ra: câu hỏi này có lẽ không phù hợp với WPSE khi được viết, bởi vì nó có khả năng thu hút ý kiến ​​và thảo luận, thay vì một câu trả lời dựa trên chuyên môn cụ thể.
Chip Bennett

1
Tôi nghĩ rằng tôi đã đọc một cái gì đó nói rằng WP sau 2.9 đã thay đổi đáng kể vì vậy đó là những gì tôi muốn nói. Vui lòng chỉnh sửa nếu bạn có thể làm cho nó rõ ràng hơn :)
Mike Stumpf

Câu trả lời:


10

Luôn luôn viết các plugin cho phiên bản hiện tại và ghi nhớ các bản dựng hàng đêm từ các phiên bản sắp tới. Bất cứ điều gì khác không quan trọng.

Chỉnh sửa Như @toscho đã chỉ ra trong một nhận xét:

Có thể có một số lời giải thích cần thiết cho lý do tại sao nó như vậy.

  1. Vì tôi nói như vậy.
  2. Plugin chỉ cần tuân thủ cốt lõi vì nếu tất cả chơi theo quy tắc, sẽ không có gì thất bại. Nếu một plugin không chơi theo quy tắc, thì nó có lỗi . Và lỗi đó cần sửa chữa và không phải bất cứ điều gì khác và không phải là một plugin hoặc chủ đề khác.
  3. Người dùng không cập nhật WordPress là kết quả của các plugin lỗi được sử dụng và không thể bị bỏ rơi trong các hệ thống mà không có nhiều công việc. Như được viết trong (2), đó là những lỗi bạn không cần phải quan tâm. Các lỗi cần sửa, không phải plugin của bạn xem xét mã bên thứ ba bị hỏng.
  4. Mã di sản không cần hỗ trợ. Nó cần thay thế. Không phải vấn đề của bạn.
  5. Mọi thứ thay đổi trên quy mô lớn so với các phiên bản XX chính. Khi bạn cố gắng hỗ trợ các phiên bản trước, bạn thường cần các cách giải quyết khác nhau và rất nhiều kiểm tra phiên bản. Đó là (a) một cơn ác mộng bảo trì (b) làm tăng cơ sở mã (c) làm cho các thử nghiệm đơn vị không thể chạy khi chúng chạy trên một phiên bản - không ít hơn, không nhiều hơn và cuối cùng (d) làm giảm không gian và hiệu suất của đĩa máy chủ (trong hầu hết các trường hợp).
  6. WordPress đã có một cơ sở mã rất cũ, thiếu các cải tiến ở nhiều cạnh và góc. Tóm lại: WordPress đã cũ, sử dụng phiên bản PHP không còn được hỗ trợ ở mức tối thiểu và do đó bạn đã hỗ trợ các phiên bản trước ở mức thấp hơn nhiều so với API công khai của ứng dụng.

Bây giờ hãy tự hỏi:

Khi bạn đã hỗ trợ phiên bản PHP không còn được hỗ trợ, tại sao bạn muốn hỗ trợ một ứng dụng thậm chí không được hỗ trợ bởi những người tạo ra nó?


Vui lòng thêm một lời giải thích cho câu trả lời của bạn: tại sao ?
fuxia

Đẹp :) Điều đó làm cho một tấn ý nghĩa. Cảm ơn sự giúp đỡ của bạn
Mike Stumpf

5

Hãy nhớ việc phát hành WordPress 3.0 yêu cầu PHP5. Vào thời điểm đó, nhiều công ty lưu trữ chưa chạy PHP5 trên máy chủ của họ. Vì vậy, đã có một khoảng thời gian khi một số trang web WordPress COULDN'T cập nhật lên WordPress 3.0 vì các công ty lưu trữ của họ không cập nhật máy chủ của họ.

Đã nhiều năm trôi qua (3+) kể từ khi phát hành WordPress 3.0, do đó, việc tương thích ngược với WordPress <3.x không phải là các plugin rất phổ biến.


Ok, tôi không biết điều đó. Điều đó làm cho rất nhiều ý nghĩa mặc dù. Cảm ơn!
Mike Stumpf

5

Hầu hết các cài đặt WordPress đã lỗi thời . Hiện tại, chỉ có 5,2% tất cả các cài đặt đang chạy trên phiên bản mới nhất 3.6.
27,3% vẫn còn trên phiên bản 3.0.

Bạn có thể nghĩ rằng bạn phải hỗ trợ các phiên bản cũ này với mã tương thích. Nhưng hãy nghĩ về những hàm ý:

  • Bạn phải kiểm tra tất cả các phiên bản được hỗ trợ chính thức.
  • Bạn phải xử lý các API không tương thích như trình tải lên phương tiện, đã thay đổi mạnh mẽ trong 3.5.
  • Bạn làm cho người dùng của bạn nghĩ rằng không nên nâng cấp WordPress, vì nó vẫn hoạt động.
  • Bạn cần nhiều mã hơn, nhiều bài kiểm tra hơn và nhiều thời gian hơn để được hỗ trợ thực hiện những điều tương tự.

Và những người dùng này có thể sẽ không cài đặt plugin của bạn vì họ biết các plugin mới đã phá vỡ trang web của họ. Về khả năng tiếp cận thị trường, bạn có thể giành được một chút với mã tương thích ngược. Về mặt hiệu quả bạn mất.


Cảm ơn về thông tin bạn vừa nhập. Tôi không nói về biểu đồ đó, nó là một tài nguyên tuyệt vời. Những gì bạn nói có ý nghĩa.
Mike Stumpf

4

Quy tắc ngón tay cái của tôi đối với các plugin tôi viết là hỗ trợ cho phiên bản hiện tại trừ đi 1, vì vậy tất cả các plugin tôi viết sẽ tương thích với 3.6.x và 3.5.x. Mặc dù một plugin cụ thể có thể hoạt động trên các phiên bản trước đó, tôi không đảm bảo nó cũng không hỗ trợ nó nếu bạn gặp vấn đề.


3

Bốn tháng trước, tôi đã đảm nhận việc bảo trì một plugin phổ biến. Trước khi tôi bắt đầu làm việc với nó, plugin đã không có bản cập nhật trong 2 năm. Tôi đã thực hiện một loạt các sửa lỗi, phát hành phiên bản mới và 2 ngày sau, nghe một anh chàng nói rằng phiên bản mới gây ra cái chết trên màn hình trắng trên trang web của anh ta. Sau khi tôi xem xét, anh ấy vẫn đang chạy WordPress 2.9.2 và bản cập nhật của tôi đã sử dụng chức năng home_url, được giới thiệu trong 3.0. Tôi không biết tại sao anh chàng quyết định cập nhật plugin này ngay lập tức, mặc dù anh ta đã không cập nhật cài đặt WordPress của mình trong 3 năm. Khi tôi tạo phiên bản mới, tôi chưa bao giờ nghĩ sẽ thử nghiệm WordPress 2.9.2.

Đây là đạo đức cho câu chuyện: Trong tệp readme.txt của plugin của bạn , có một số phiên bản "Yêu cầu ít nhất" trong tiêu đề. Sử dụng nó. Khi bạn thực hiện cập nhật, nếu bạn không muốn thử nghiệm các phiên bản cũ, hãy tăng nó lên. Điều đó sẽ không khuyến khích người dùng từ chối cập nhật cài đặt WordPress của họ khi cập nhật plugin của bạn.

Tôi hiện đang viết một plugin mới, có liên quan và tôi dự định chỉ tạo WordPress 3.6, vì tôi muốn sử dụng thư viện getid3 có trong lõi. Tôi không muốn phát hành một plugin mới cho phiên bản lõi cũ.


Cảm ơn vì lời khuyên. Tôi đã lên kế hoạch thử nghiệm nó cho một vài phiên bản được thực hiện từ 3.6 nhưng tôi chỉ có thể làm một phiên bản như @JohnG đã đề cập. Cảm ơn!
Mike Stumpf
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.