2010-10-29 30 views
16

Tôi mới phát triển plugin. Vì vậy, hãy sửa tôi, bất cứ nơi nào tôi nhận được nó sai.Phát triển plugin WordPress bằng OOP

Tôi có một trang web mà cần một người chơi cắm với nhu cầu sau: -

  • Quản trị hình thức kiểm soát đăng ký cầu thủ, với một số chi tiết trong số họ.
  • Trang danh sách nơi tất cả người chơi đã đăng ký sẽ được hiển thị.
  • Người chơi đã đăng ký có thể bị xóa & so với nhau.
  • Hiển thị một số người chơi đã đăng ký (10 người chơi ngẫu nhiên) trong chủ đề WordPress ở mặt trước.

Tôi đã hoàn thành việc kích hoạt plugin, cùng với tạo bảng cơ sở dữ liệu và tùy chọn trình đơn quản trị viên cho plugin này. Tôi cũng đã hoàn thành giao diện đăng ký người chơi, nhưng không có mã chèn cơ sở dữ liệu. Nhưng tất cả những điều này đã được thực hiện bằng cách sử dụng thủ tục bình thường.

bây giờ tôi có hai đau đầu trong việc hoàn thành sự phát triển của plugin này: -

  • Phát triển plugin này trong các định dạng OOP, hỗ trợ cho các phiên bản tương lai của WordPress.
  • Hoàn thành các yêu cầu khác của plugin này.

Làm cách nào để tiến hành những điều sau (ngay cả với một chút kiến ​​thức chia sẻ)?

  • Tạo plugin WordPress từ đầu bằng cách sử dụng cách OOP.
  • Gọi một biểu mẫu web (như đăng ký người chơi) bằng OOP.
  • Gửi tất cả thông tin trình phát này vào cơ sở dữ liệu bằng OOP.
  • Hiển thị trang danh sách (như đối với người chơi đã đăng ký và định vị chúng) bằng OOP.
  • Hiển thị một số người chơi trong giao diện người dùng WordPress, sử dụng Thẻ mẫu hoặc trực tiếp với sự trợ giúp của plugin.

Tôi đã tìm kiếm trên Google, cố gắng tìm một số thông tin trên Internet về những điều này, nhưng tôi đã không thành công nhiều với điều OOP.

EDIT: - Nó sẽ rất hữu ích và tốt đẹp cho tất cả chúng ta (mới phát triển plugin WordPress OOP) để có một số đoạn mã làm nổi bật việc sử dụng nó. Nếu có thể, bạn cũng có thể cung cấp một số liên kết bài viết mô tả chính xác cách viết plugin OOP như vậy.

điều, giống như những gì "gulbrandr" cung cấp, là hữu ích, và tôi cũng muốn cảm ơn "kovshenin" để chia sẻ/nhắc đến liên kết của một số plugin OOP; nhưng nó sẽ rất tuyệt vời nếu một số bài viết hoặc bất kỳ đoạn mã nào có thể được cung cấp, mô tả các bước thích hợp để phát triển các plugin OOP.

+0

không Có ai đã làm một số công việc tốt trên WordPress Plugin Dev sử dụng tính năng OOP? –

Trả lời

7

Tôi không phải là một guru, nhưng tôi đã làm việc với WordPress trong nhiều năm nay và có khá nhiều plugin phía sau lưng. Sai lầm đầu tiên của bạn, tôi có thể chỉ ra là

cùng với bảng cơ sở dữ liệu tạo

này là sai. Bạn không tạo các bảng khi bạn làm việc với WordPress, lược đồ mặc định là đủ linh hoạt để phù hợp với bất kỳ thứ gì bạn có trong đầu. Ngay cả các plugin phức tạp như WP-eCommerce cũng đang được viết lại (hoặc đã không biết) để phù hợp với giản đồ WordPress chuẩn. Đặc biệt là kể từ khi WordPress 3.0 đã được ra. Điều này đã được đề cập trên WordCamp vào đầu năm nay.

Bạn có thể dễ dàng phù hợp với người chơi của mình trong bảng Người dùng. Thuộc tính của chúng có thể được lưu trữ trong bảng Người dùng Meta, cộng với bạn có thể cung cấp cho họ vai trò đặc biệt và/hoặc đặc quyền.

Bây giờ, nếu bạn thực sự tham gia OOP, bạn nên tải xuống một số plugin thú vị ở đó và đọc qua mã để xem người khác làm như thế nào. Ví dụ, tôi có thể đề cập đến một trong các plugin của riêng tôi có tên là Twitter Friendly Links - đây không phải là OOP tốt nhất, nhưng chắc chắn là bắt đầu;)

Sau đó, bạn có thể xem một số nội dung rất ấn tượng và tổ chức mã (nhờ Frederick Townes).

Ngoài ra, một số phần của Codex hiện hiển thị các ví dụ theo kiểu OOP - ví dụ API Widget. Tôi hy vọng sẽ sớm thấy được nhiều hơn và hurray cho OOP trong WordPress! Đó là một điều tốt mà mọi người hỏi những câu hỏi như vậy, đó là điều thúc đẩy các nhà phát triển cốt lõi :)

+0

Cảm ơn thông tin và liên kết này. Tôi chắc chắn sẽ nhìn vào nó. Ngoài ra tôi sẽ luôn nhớ điểm của bạn về việc sử dụng lược đồ cơ sở dữ liệu của WordPress mà thôi. Cảm ơn một lần nữa. –

+1

Bạn không nên nói "bạn * không * tạo" bảng. Tôi có một email xếp hàng plugin sử dụng một bảng tùy chỉnh cho hàng đợi, và lược đồ WP tiêu chuẩn cho mọi thứ khác. Sử dụng 'wp_post'_meta cho tất cả dữ liệu hàng đợi thư của tôi ít nhất là quá phức tạp và giới thiệu những rủi ro mà tôi không muốn, đặc biệt là với các truy vấn tham gia quá phức tạp giữa' wp_post' và 'wp_post_meta'. Vì vậy, tôi * làm * tạo một bảng. – ProfK

+0

'Bạn không tạo bảng' là một cái gì đó rất sai. Các bảng Wordpress trở nên cồng kềnh theo thời gian vì hầu như tất cả các plugin đều sử dụng cấu trúc bảng wordpress để lưu trữ dữ liệu của chúng, dẫn đến các vấn đề với các trang web hoặc trang web lớn giữ dữ liệu lớn. Nếu bạn sử dụng các bảng wordpress và một trang web cụ thể có nhiều dữ liệu được lưu trữ trong đó bằng các plugin hoặc wordpress khác, truy vấn của bạn cũng sẽ bị ảnh hưởng, ngay cả khi plugin của bạn sử dụng ít lưu trữ cơ sở dữ liệu. Và đó là ngay cả trước khi tham gia vào các kết nối phức tạp mà một plugin nâng cao có thể yêu cầu. – unity100

1

Cố gắng sử dụng các loại bài đăng dựng sẵn của WP và các trường/phân loại tùy chỉnh API. Nếu nó không đủ cho nhiệm vụ của bạn - bạn có thể thử thêm một số ORM như Doctrine cho backend. Gần đây, tôi đã phát triển một khung công tác đơn giản cung cấp một số chức năng cốt lõi để thêm cách tiếp cận MVC vào WP (định tuyến yêu cầu cơ bản, api tạo html và "mô hình" dựa trên các bài đăng và trường tùy chỉnh của wordpress). Nó không hoàn hảo - nhưng tôi có thể chia sẻ mã và có thể nó sẽ giúp bạn.

+0

Không thực sự, những gì tôi đang tìm kiếm, như tôi muốn sử dụng các tính năng và API hiện có của WordPress. Nhưng điều tôi thích về điểm của bạn là thử nghiệm của bạn về việc hợp nhất cấu trúc MVC với WordPress, cùng với Doctrine. Thực sự tuyệt vời - +1 –

+1

Những gì tôi cung cấp là phần mở rộng API WP mà chúng tôi đã phát triển để hỗ trợ phát triển hàng ngày của chúng tôi :) Nếu bạn đang tìm cách tốt để cấu trúc mã plugin của mình - hãy chú ý đến câu trả lời của gulbrandr. Bài báo ông tham chiếu thực sự tuyệt vời và mô tả cách tiếp cận "một lớp cho mỗi chức năng" thực sự tốt giúp mã của bạn luôn sạch sẽ. – karevn

10

Tôi thường tải xuống plugin để xem mã hy vọng tôi sẽ tìm hiểu điều gì đó từ phương pháp nhà phát triển và kiểu mã hóa. Thường thì tôi thấy mình cảm thấy thất vọng khi đọc thông qua các plugin được viết kém. Không phải họ là những nhà phát triển kém, họ chưa tập trung đủ vào các kiểu mã hóa thay thế và tinh chỉnh cách họ lập trình các plugin của mình. Dưới đây là một số bước nhanh chóng về cách tôi viết các Plugin WordPress của tôi với hy vọng sẽ ảnh hưởng đến các nhà phát triển khác.

bước về cách bắt đầu với plugin Phát triển

Bước 1 - Tạo tập tin của bạn và để cho nó được biết đến như là một plugin

Bước 2 - Tạo các đối tượng của plugin của bạn

Bước 3 - Thêm hành động và bộ lọc của bạn

Bước 4 - Thêm cài đặt/tùy chọn cho plugin của bạn

Kết thúc mã của bạn

tham khảo: Writing a WordPress Plugin Using Classes

+1

Bạn có thể vui lòng cung cấp thêm thông tin (như cách bạn tiến hành khi tạo/chỉnh sửa biểu mẫu quản trị, khi chèn/cập nhật dữ liệu trong cơ sở dữ liệu bằng bảng tùy chỉnh mới, khi cung cấp hỗ trợ chế độ xem danh mục cho plugin mới, v.v.) khác với liên kết được cung cấp? Bởi vì liên kết này chỉ đề cập đến một phần của quá trình phát triển plugin bằng OOP và không phải là những phức tạp mà tôi đang nói đến. Hãy cố gắng hiểu yêu cầu của tôi. ** Nếu cần thiết, tôi sẽ một lần nữa đi cho một lựa chọn tiền thưởng, nhưng tôi cần một số câu trả lời tốt xấu. ** Cảm ơn tất cả mọi người vì sự đóng góp của họ. –

Các vấn đề liên quan