Tự động xác định phiên bản WordPress tối thiểu cần thiết cho một plugin?


22

Khi phát triển plugin, có cách nào để tự động xác định phiên bản tối thiểu của WordPress cần có để chạy nó không? Tôi muốn đảm bảo rằng Requirestiêu đề là chính xác, nhưng kiểm tra thủ công mỗi khi tôi gọi một chức năng cốt lõi mới là tẻ nhạt và dễ bị lỗi.

Tôi đang nghĩ rằng một kịch bản có thể tìm ra nó đủ dễ dàng:

  1. Quét tất cả các tệp trong một plugin.
  2. Phân tích ra tất cả các instantiations lớp và các cuộc gọi chức năng dựa trên new foo( [...] ), foo::bar( [...] ), bar( [...] ), call_user_func( [...] ), vv cú pháp.
  3. Phân tích nguồn WP để xác định khi nào mỗi lớp / hàm đó được thêm vào WordPress, sử dụng @sincethẻ phpDoc.
  4. Tạo một báo cáo liệt kê từng lớp / chức năng và phiên bản mà nó đã được thêm vào, cùng với phiên bản sớm nhất của WordPress bao gồm tất cả các lớp / chức năng.

Tôi đã nhìn xung quanh nhưng không thể tìm thấy bất cứ điều gì giống như vậy và không có thời gian để tự viết. Có ai biết về một giải pháp hiện có?


Bạn đã thấy điều này chưa, wordpress.org/extend/plugins/log-deprecated-notices
Wyck

Đó sẽ là một khởi đầu tốt, cảm ơn vì đã chỉ ra :)
Ian Dunn

@IanDunn Nếu bạn có thể tìm ra giải pháp cho vấn đề này, vui lòng chia sẻ nó. :)
it_me

Tôi chưa tìm thấy giải pháp nào.
Ian Dunn

2
Tôi càng nghĩ về điều này, có vẻ như WordPress chỉ nên xây dựng nó và chạy nó với tất cả các plugin trong kho lưu trữ để số phiên bản chính xác cho tất cả các plugin mãi mãi.
mrwweb

Câu trả lời:


14

Tôi đã tìm thấy một giải pháp như một dịch vụ tự động tại http://wpseek.com/pluginfilecheck/

Đó là chính xác, những gì đã được yêu cầu bao gồm cả việc tạo danh sách các hàm được sử dụng và đưa ra gợi ý cho các nhận xét Plugin-Header.


Điều đó thật tuyệt, cảm ơn :) Tôi nghĩ sẽ thuận tiện hơn rất nhiều nếu bản thân nó là một plugin WordPress, thay vì một dịch vụ web, nhưng tốt hơn là không có gì.
Ian Dunn

2
Thật không may, nó cũng 'mỗi tệp' - vì vậy không tải lên toàn bộ trình cắm. Nhưng vẫn là một tài nguyên rất hữu ích - tìm thấy tuyệt vời!
Stephen Harris

2
Dịch vụ đó hiện hỗ trợ tải lên tệp zip và nó sẽ tự động quét tất cả các tệp bên trong nó :)
Ian Dunn

Có cách nào để thêm cái này không ( de.wpseek.com/pluginfilecheck ) hoặc một cách khác trong phân tích tĩnh của plugin trong quá trình xây dựng để tôi không cần phải truy cập trang web trên để kiểm tra lại n và hệ thống xây dựng sẽ tự động tạo một báo cáo cùng với phân tích tĩnh khác trên mỗi cam kết.
learning_13

3

Cập nhật: Điều này không còn chính xác. Xem câu trả lời của carstenbach .


Chà, có vẻ như câu trả lời là "Không, không có giải pháp nào cho việc này cả."

Nếu bất cứ ai muốn viết một, đây có thể là hữu ích:

Tôi nghĩ rằng nhận xét của Mark về việc xây dựng tính năng này vào kho lưu trữ WordPress.org là một ý tưởng thực sự tốt, nhưng nó có thể là thứ mà cộng đồng phải tạo ra trước tiên để chứng minh rằng nó hữu ích, trước khi nhóm nòng cốt sẽ xem xét thêm nó.


2

Chà, đây là điểm khởi đầu nhiều hơn, nhưng có một danh sách tốt đẹp các chức năng WP và các phiên bản mà chúng đã được thêm / xóa ở đây . Thật không may, nó chỉ đi lên WP 3.0.1, nhưng nếu bạn chụp 3.0 làm cơ sở thì ít nhất nó sẽ có ích - nếu nó không có trong danh sách, nó sẽ được thêm vào sau. Bạn có thể muốn gửi email cho Ozh và yêu cầu anh ta cập nhật danh sách, và nếu một trong số chúng tôi có được một người nào đó có thể tạo một plugin để kiểm tra (như trình kiểm tra khấu hao ngược ).

ETA: Per @mrwweb - Danh sách Hook của Adam Brown ! Hiện tại là 3.3 và quay trở lại 1.2.1, điều mà không ai trong tâm trí của họ sẽ chạy nữa (ngày phát hành ngày 6 tháng 10 năm 2004).


2
Tôi sẽ thêm danh sách các móc nối của Adam Brown theo phiên bản (trở lại 1.2.1!) Cũng sẽ rất tốt để kiểm tra.
mrwweb

Cảm ơn liên kết đến plugin Trình kiểm tra khấu hao, có thể cung cấp một số mã hữu ích để xây dựng nếu tôi có thời gian để viết bài này.
Ian Dunn

Đó là một plugin tuyệt vời, bởi người dùng WPSE Brian Fegter.
SickHippie

0

Tôi nghĩ rằng câu trả lời không nằm trong các thông báo không dùng nữa - bạn nên phát triển với WP_DEBUG đúng - cho dù bạn hiển thị hay ghi nhật ký chúng là cuộc gọi của bạn, nhưng WP sẽ thông báo cho bạn nếu bạn sử dụng chức năng không dùng nữa.

Có thể phân tích @since như bạn nói, nhưng các công cụ chỉ có thể đưa bạn đến nay - quen thuộc với cơ sở mã và kiểm tra thủ công có thể là cách tốt nhất.


1
Tôi nghĩ rằng bạn đã trả lời ngược lại của câu hỏi. Câu hỏi muốn xác định hỗ trợ trở lại bao xa cho các chức năng hiện được hỗ trợ (ví dụ: chức năng mà plugin của bạn sử dụng đã được giới thiệu trong 3.1 để plugin của bạn không hoạt động trong các phiên bản trước, nhưng chức năng đó không gây ra lỗi hoặc thông báo bởi vì nó được hỗ trợ ngay bây giờ.)
mrwweb

Bạn nói đúng, phục vụ tôi ngay để đăng bài mệt mỏi. Sau đó, những gì tôi khuyên bạn nên kiểm tra thủ công so với phiên bản chính cuối cùng và sử dụng nó làm điểm bắt đầu tùy ý, bởi vì đó là lợi ích tốt nhất của mọi người để khuyến khích người dùng cập nhật WP của họ. Khi điểm bắt đầu đã được thiết lập, các thông điệp cam kết có lẽ là nơi tốt nhất để tìm phiên bản Yêu cầu được cập nhật, vì bất kỳ cấu trúc lại nào để tránh các chức năng và phương thức không dùng nữa nên được lưu ý ở đó.
Chris Cox

Nhìn vào wordpress.org/about/stats tôi muốn nói 3.2 là một phiên bản hay để chụp, vì bất kỳ phiên bản nào trước đó đều không có ý nghĩa thống kê.
Chris Cox

Cảm ơn ý tưởng của Chris, nhưng thúc đẩy chính ở đây là để có được một giải pháp tự động. Mặc dù vậy, bạn có một điểm tốt về các phiên bản cũ hơn 3.2 là không có ý nghĩa thống kê.
Ian Dunn

Tôi sẽ làm cho bạn một thỏa thuận - cho tôi biết nếu bạn từ bỏ và viết một, và tôi sẽ cho bạn biết nếu tôi có xung quanh để viết một. Đó là một ý tưởng tốt và sẽ là một công cụ hữu ích trong hộp công cụ của bất kỳ ai.
Chris Cox
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.