Mẫu trang quản trị plugin wordpress

Một plugin WordPress có thể có rất nhiều thành phần khác nhau. Ví dụ: một số có thể cần sử dụng mã ngắn để đạt được mục đích của họ. Trong khi những người khác có thể cần tạo các loại bài đăng tùy chỉnh

Nhưng một thành phần mà hầu hết mọi plugin đều cần là trang quản trị. [Hoặc thậm chí họ có thể cần nhiều hơn một. ] Thế mới nói, thiết kế trang quản trị bằng lập trình hướng đối tượng không hề đơn giản. Có rất nhiều phần chuyển động khác nhau mà bạn phải cân nhắc trong thiết kế của mình

Lớp trang quản trị được thiết kế tốt sẽ kết hợp các phần chuyển động khác nhau này thành một lớp gắn kết. Chìa khóa để đạt được điều này là hiểu vai trò của các phần chuyển động khác nhau này trong bức tranh lớn hơn của trang quản trị. Chúng tôi sẽ làm điều đó bằng cách phân tích những gì tạo nên trang quản trị ngay từ đầu

Các thành phần của một trang quản trị

Với suy nghĩ này, chúng ta hãy tiếp tục và xem xét các yếu tố khác nhau của một trang quản trị. Tất cả chúng rơi vào hai loại lớn. Đây là đăng ký trang quản trị và hiển thị nó

Đăng ký trang quản trị

Chúng ta sẽ bắt đầu với việc đăng ký một trang quản trị. Với WordPress, bạn đăng ký trang quản trị bằng hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. Ngoài ra còn có các chức năng phím tắt như
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
7 cho phép bạn thêm trang menu con vào menu WordPress cụ thể. Điều đó nói rằng, đằng sau hậu trường, tất cả các hàm này gọi hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6

Bản thân hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 có rất nhiều tham số và nó yêu cầu bạn sử dụng tất cả trừ một trong số chúng. Nếu bạn không sử dụng chức năng phím tắt như chức năng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
7, trước tiên bạn cần cung cấp cho nó một số
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
1. Đó là sên của menu cha mà trang quản trị sẽ hiển thị trên đó

Sau đó, bạn cần cung cấp cho chức năng một

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
2 và một
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
3. Đầu tiên là thẻ
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4 khi bạn vào trang quản trị. Cái còn lại là tiêu đề của trang quản trị sẽ có trong menu chính mà chúng ta đã xác định trong tham số đầu tiên

Tiếp theo, bạn phải cung cấp cho chức năng một

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
5. Đó là thứ mà người dùng phải có để xem menu trong quản trị viên WordPress. Điều đó nói rằng, có rất nhiều khả năng có thể để lựa chọn. Điều này có thể hơi quá sức khi bạn đang cố gắng tìm đúng thứ để sử dụng

Nói chung, rất nhiều plugin sử dụng khả năng chỉ hiển thị trang quản trị cho quản trị viên. Ngoài kịch bản phổ biến đó, nó thay đổi tùy theo ngữ cảnh của trang quản trị. Ví dụ: một plugin xử lý nhận xét có thể muốn sử dụng

Tham số bắt buộc cuối cùng là

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
8. Đây là slug mà trang quản trị sẽ sử dụng. Bạn cần con sên này là duy nhất nếu không bạn sẽ gặp phải các lỗi hiển thị kỳ lạ

Tham số cuối cùng là

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
9. Nó có thể gọi được mà WordPress sẽ sử dụng để hiển thị nội dung của trang quản trị. Tham số là tùy chọn, nhưng trên thực tế, bạn cần sử dụng nó nếu muốn hiển thị trang quản trị của mình. [Và ai không muốn điều đó. ?]

Kết xuất trang quản trị

Tham số

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
9 là một cách hay để hiển thị phần tử có vấn đề nhất của trang quản trị. Đó là cách hiển thị HTML của trang quản trị. Không có sự đồng thuận giữa các nhà phát triển WordPress về cách tốt nhất để làm điều này

Điều này có nghĩa là có gần như nhiều cách để làm điều này cũng như có nhiều nhà phát triển WordPress. Ok, đây có thể là một cường điệu nhẹ. Nhưng sự thật là các nhà phát triển WordPress sử dụng rất nhiều phương pháp khác nhau để hiển thị HTML của trang quản trị

Một số [dù ít. ] sử dụng API cài đặt. Trong khi những người khác chọn tự hiển thị tất cả bằng PHP. Và một số làm điều gì đó thậm chí còn cực đoan hơn và xây dựng ứng dụng một trang cho trang quản trị của họ

Có những ưu điểm và nhược điểm đối với từng phương pháp này. [Chính vì vậy mỗi người có một cách làm khác nhau. ] Điều đó nói rằng, chúng tôi muốn sử dụng càng nhiều hệ thống WordPress càng tốt cho việc này. Đó là lý do tại sao chúng tôi sẽ sử dụng API cài đặt để thực hiện việc này

Tạo nội dung HTML

Có một vấn đề lớn với API cài đặt. [Và đó là một trong những lý do tại sao nó không phổ biến. ] Là nó không giúp tạo ra HTML của trang quản trị. Chúng ta vẫn phải tìm cách để làm điều đó

May mắn cho chúng tôi, chúng tôi đã đề cập đến cách tạo HTML bằng lập trình hướng đối tượng trước đây. Bây giờ, không cần phải đọc bài viết này. [Đó là một cách tự quảng cáo khá kinh khủng phải không?] Nó chỉ ở đó để tham khảo

Bài viết này chỉ là sử dụng lại một số ý tưởng đã thấy trong bài viết đó. Nhưng chúng tôi sẽ không thiết kế một lớp để tạo HTML như chúng tôi đã làm trong đó. Nó sẽ giữ mọi thứ đơn giản hơn một chút. Điều đó nói rằng, hãy thoải mái làm điều đó trong mã của bạn nếu bạn thích

Tạo lớp trang quản trị của chúng tôi

Được rồi, vậy là chúng ta đã có một ý tưởng khá hay về những gì tạo nên một trang quản trị. Bước tiếp theo là tạo một lớp có thể xử lý các thành phần khác nhau này của trang quản trị. Chúng tôi sẽ đặt tên nó là

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4

Lớp học

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng tôi hiện đang trống. Nhưng nó sẽ không ở lại như vậy trong một thời gian dài. Hãy bắt đầu thêm những thứ vào nó

Đăng ký lớp trang quản trị của chúng tôi và API plugin

Điều đầu tiên mà chúng ta sẽ xem xét là cách đăng ký lớp trang quản trị của chúng ta với WordPress. Điều này sẽ yêu cầu chúng ta sử dụng hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 mà chúng ta đã thấy trước đó. Điều đó nói rằng, một điều mà chúng tôi đã không đề cập đến chức năng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 là chúng tôi không thể gọi nó bất cứ khi nào chúng tôi muốn

Không, chúng tôi cần gọi nó vào một thời điểm cụ thể bằng API plugin. Nếu bạn đang thêm một trang quản trị bình thường, bạn muốn sử dụng hook

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
35. [Đây là điều bạn sẽ làm trong 99% thời gian. ] Nhưng nếu bạn đang tìm cách thêm trang quản trị cho quản trị viên mạng WordPress, bạn muốn sử dụng móc nối
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
36

Điều này có nghĩa là chúng tôi sẽ cần một cách để sử dụng API plugin với

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng tôi. Để giữ cho thiết kế của chúng ta đơn giản, chúng ta sẽ không thiết kế lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 để nó sử dụng plugin API. Chúng tôi sẽ chỉ tưởng tượng rằng plugin của chúng tôi sử dụng một chức năng như thế này

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];

Điều đó nói rằng, bạn có thể muốn đẩy mạnh thiết kế lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của mình hơn nữa và sử dụng plugin API. Thật tuyệt. Có khá nhiều bài viết về API plugin trên trang web này để giúp bạn điều đó. Các bài viết này bao gồm nhiều tùy chọn trong đó một số tùy chọn dễ thực hiện hơn các tùy chọn khác

Truyền đối số cho hàm “add_submenu_page”

Rất có thể bạn đã nhận thấy rằng hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
40 mà chúng ta đã thấy trước đó không thêm trang quản trị. Chúng tôi vừa có một nhận xét đề cập rằng chúng tôi sẽ gọi hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. Vâng, nhận xét đó đã có để chúng tôi có thể nói về nó. [Mưu mẹo khá thông minh của tôi. ]

Đó là bởi vì chúng ta đã thấy trước đó rằng hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 sử dụng rất nhiều tham số. Chúng tôi cần một cách để lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng tôi truyền đối số cho nó. Có một vài cách để làm điều này vì vậy hãy dành một chút thời gian để xem xét chúng

Một phương thức với tất cả các đối số

Một cách chúng ta có thể truyền đối số cho hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 là sử dụng hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45. Đây là một chức năng PHP đặc biệt mà không nhiều lập trình viên PHP biết đến. Nó cho phép bạn gọi một hàm hoặc phương thức cụ thể trong khi truyền cho nó một mảng đối số

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45 có hai tham số.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
47 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
48. Nó hy vọng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
47 có thể gọi được. Cái có thể gọi đó sẽ là hàm hoặc phương thức mà hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45 sẽ gọi

Tất nhiên, chúng ta đã biết hàm hoặc phương thức nào chúng ta muốn gọi. Đó là chức năng

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. Vì vậy, chúng ta sẽ chỉ chuyển
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 dưới dạng một chuỗi cho đối số đầu tiên của hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45

Đối số thứ hai là

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
48. Đó là một mảng các đối số được truyền cho hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45 sẽ được truyền cho hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
47. Điều quan trọng cần đề cập là hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45 mong đợi mảng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
48 là một mảng được lập chỉ mục. Bạn không thể sử dụng một mảng kết hợp

Sử dụng chức năng “call_user_func_array”

Vì vậy, đó là tất cả tốt đẹp. Nhưng làm cách nào để lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng ta hoạt động với hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45?

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];

Như bạn có thể thấy, chúng tôi đã thay thế nhận xét của mình bằng lệnh gọi hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45. Đối số đầu tiên là một chuỗi có
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 như chúng ta đã nói nó sẽ là. Đối số thứ hai là mảng được trả về bởi phương thức
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
94 của lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng ta

Phương thức

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
94 là cách lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng ta sẽ giao tiếp với hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. Phương thức trả về các giá trị mà chúng ta muốn truyền cho nó dưới dạng một mảng. Và, như chúng ta đã thấy trước đó, hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
45 muốn mảng được định dạng theo một cách cụ thể

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
3

Trên đây là lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 được cập nhật của chúng tôi với phương thức
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
94. Phương thức trả về một mảng với tất cả các đối số mà chúng ta muốn chuyển đến hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. Mỗi phần tử mảng này là một tham số mà chúng ta đã đề cập trước đó

  • function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    93 là
    function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    1 của menu chính của trang quản trị của chúng tôi
  • function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    95 và
    function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    96 lần lượt là
    function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    2 và
    function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    3 của trang quản trị của chúng tôi
  • function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    99 là
    function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    5 cần thiết để xem trang quản trị của chúng tôi
  • function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    71 là
    function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    8 của trang quản trị của chúng tôi
  • function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    73 là cuộc gọi lại
    function myplugin_add_admin_page[] {
        $admin_page = new MyPlugin_AdminPage[];
    
        call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
    }
    add_action['admin_menu', 'myplugin_add_admin_page'];
    9 mà WordPress sẽ sử dụng để hiển thị trang quản trị của chúng tôi

Tất cả đều khá đơn giản ngoại trừ cuộc gọi lại

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
9. Chúng ta sẽ nói về việc hiển thị trang quản trị của chúng ta sau. Tuy nhiên, hiện tại, đây là một cách mà chúng ta chuyển đối số cho lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của mình sang hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6

Một phương pháp cho mỗi đối số

Cách thay thế khác là làm hoàn toàn ngược lại. Thay vì sử dụng một phương thức để truyền tất cả các đối số của hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6, chúng ta sử dụng một phương thức cho mỗi đối số. Điều này làm cho lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng ta nặng hơn một chút, nhưng bạn không cần phải dựa vào hàm PHP để gọi hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4

Như bạn có thể thấy, hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
40 được cập nhật ở trên rất giống với phương pháp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
92 của chúng tôi từ trước đó. Nhưng thay vì trả về một mảng với tất cả các đối số của chúng ta, mỗi đối số sẽ có phương thức riêng. Ngoại lệ duy nhất là cuộc gọi lại
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
9 vẫn giữ nguyên

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
1

Và đây là lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng ta với tất cả các phương thức được sử dụng làm đối số cho hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. Tất cả các phương pháp này là khá đơn giản. Tất cả chúng đều trả về một chuỗi từ mảng đối số trước đó của chúng ta

Chọn cái nào bạn thích

Không có cách nào tốt nhất để truyền đối số cho hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. Cả hai đều có ưu điểm và nhược điểm. [Điều này thường xảy ra khi thiết kế một cái gì đó. ]

Sử dụng một phương pháp đơn giản hơn vì bạn chỉ có một phương pháp trái ngược với nhiều phương pháp. Nhưng có nhiều phương pháp cũng hữu ích. Bạn có thể muốn sử dụng lại một số phương thức này trong mã của mình

Vì vậy, cuối cùng, nó đi đến một sự lựa chọn cá nhân. Tuy nhiên, đối với bài viết này, chúng tôi sẽ sử dụng tùy chọn thứ hai. Đó là bởi vì chúng tôi sẽ sử dụng lại một số phương pháp này trong mã của chúng tôi

Định cấu hình trang quản trị của chúng tôi

Bây giờ chúng ta đã thấy cách đăng ký trang quản trị của mình, chúng ta vẫn phải định cấu hình nó. Đây là bước bắt buộc trước khi chúng tôi xem xét cách chúng tôi sẽ hiển thị nó. Như chúng tôi đã đề cập trước đó trong bài viết, chúng tôi sẽ sử dụng API cài đặt để thực hiện việc này

API cài đặt là chiếc ô cho nhiều tác vụ khác nhau. Nhưng chỉ có hai cái mà chúng tôi quan tâm cho bước cấu hình. Hãy cùng xem qua chúng

Đăng ký cài đặt

Nhiệm vụ đầu tiên mà chúng ta cần làm là đăng ký cài đặt với API. Bạn có thể làm điều này bằng cách sử dụng hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
97. Bạn có thể thấy cách chúng tôi làm điều đó dưới đây

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
9

Bạn có thể thấy bước đầu tiên trong phương pháp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
98 ở trên. Chúng tôi đã sử dụng chức năng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
97 để đăng ký cài đặt với API.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
97 có hai tham số bắt buộc.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
01 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
02

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
01 là nhóm cài đặt mà cài đặt sẽ thuộc về. Chúng ta sẽ sử dụng chuỗi trả về phương thức
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
04 cho đối số đó. [Đây là một lý do tại sao chúng tôi đang sử dụng các phương thức riêng lẻ để gọi hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6. ]

Tham số

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
02 là cài đặt thực tế mà chúng tôi muốn đăng ký. Đó là tên của tùy chọn mà chúng tôi sẽ sử dụng trong mã trang quản trị. Trong đoạn mã trên, chúng tôi đã chuyển chuỗi
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
07 làm đối số
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
02

Đăng ký phần và lĩnh vực

Nhiệm vụ thứ hai là đăng ký các phần và trường với API cài đặt. Các phần và trường này là cách để kiểm soát cách WordPress sẽ hiển thị cài đặt của chúng tôi. Hãy cập nhật phương pháp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
98 của chúng tôi trước khi thảo luận thêm về chúng

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
9

Chúng tôi đã thêm hai lệnh gọi hàm mới trong phương thức

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
98 ở trên. Đầu tiên là chức năng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
11. Thứ hai là chức năng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
12

Thêm một phần

Chức năng

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
11 thêm một phần mới vào trang quản trị của chúng tôi. Nó có bốn tham số.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
14,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
47 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
17.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
14 là slug được sử dụng để xác định phần.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4 là tiêu đề của phần.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
47 là khả năng gọi được sử dụng để xuất nội dung của phần.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
17 là sên của trang quản trị mà phần này thuộc về

Bây giờ, hãy nói về các đối số mà chúng ta chuyển đến hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
11. Như bạn có thể thấy, chúng tôi đã sử dụng nhiều hơn phương pháp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
04 của mình. Chúng tôi đã sử dụng nó với các đối số
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
14 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
17

Trong khi đó, chúng tôi đã chuyển một chuỗi đã dịch cho

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4 của chúng tôi. [Luôn được dịch. ] Cuộc gọi lại là một mảng đề cập đến phương thức
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
27. Chúng ta sẽ xem xét phương pháp đó sau một chút khi chúng ta xem xét hiển thị trang quản trị

Thêm trường

Hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
12 có tham số tương tự như hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
11. Nó có sáu tham số.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
14,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
47,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
17,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
34 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
35. Bốn cái đầu tiên giống như cái trong hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
11

Hai cái mới là

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
34 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
35.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
34 là sên của phần mà trường của chúng ta sẽ xuất hiện.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
35 là một mảng các đối số bổ sung mà bạn có thể chuyển đến hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
12

Đối với bài viết này, chúng tôi chỉ quan tâm đến tham số

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
34. Chúng tôi đã chuyển nó cùng một giá trị
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
14 mà chúng tôi đã cung cấp cho hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
11. Đây là giá trị được trả về bởi phương pháp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
04 của chúng tôi được nối với
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
46

Trong khi đó, bốn đối số đầu tiên hầu như giống với các đối số từ hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
11. Điều đáng được chỉ ra là lập luận được thông qua dưới dạng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
47. Đó là một tham chiếu đến một phương thức mới có tên là
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
49

Kết xuất trang quản trị của chúng tôi

Được rồi. Vì vậy, tại thời điểm này, chúng tôi chưa nói về bất kỳ phương pháp kết xuất nào của chúng tôi. Nhưng bây giờ chúng ta đã hoàn thành tất cả công việc đăng ký và định cấu hình trang quản trị của mình, chúng ta có thể xem phần cuối cùng của câu đố

Trong trường hợp bạn không theo dõi, tổng cộng mã của chúng tôi có ba phương thức hiển thị không xác định. Theo thứ tự xuất hiện, chúng là các phương thức

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
50,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
27 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
49. Công việc của họ là tạo HTML cho các phần của trang quản trị của chúng tôi

Kết xuất HTML bằng các mẫu

Điều này đưa chúng ta đến quyết định thú vị nhất mà chúng ta phải thực hiện khi thiết kế lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của mình. Đó là cách chúng tôi sẽ hiển thị HTML của các trang quản trị của chúng tôi. Đây thực sự là phần thiết kế mà bạn có quyền tự do sáng tạo nhất

Tuy nhiên, như chúng tôi đã đề cập trước đó, chúng tôi sẽ sử dụng một giải pháp mà chúng tôi đã khám phá trong bài viết trước. [Liên kết lại trong trường hợp bạn bỏ lỡ nó. ] Giải pháp đó xoay quanh việc sử dụng các mẫu PHP để tạo nội dung HTML của chúng tôi. Điều này loại bỏ sự liên kết giữa lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng tôi và mã khuôn mẫu HTML

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
7

Điều đầu tiên mà chúng tôi muốn làm để triển khai giải pháp tạo khuôn mẫu HTML của mình là thêm một đường dẫn đến các mẫu trang quản trị của chúng tôi. Chúng tôi đã làm điều này bằng cách thêm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
55 làm tài sản riêng. Chúng tôi cũng đã thêm một hàm tạo có tham số
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
55. Nhà xây dựng chỉ định
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
55 của chúng tôi sau khi chuyển nó qua
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
58 để đảm bảo rằng nó không kết thúc bằng dấu gạch chéo

Tiếp theo, chúng tôi muốn sử dụng thuộc tính

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
55 này để hiển thị các mẫu PHP của chúng tôi. Chúng ta sẽ cần tạo một phương thức để làm điều đó. Bạn có thể thấy nó dưới đây

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
9

Phương thức

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
60 ở trên có một tham số.
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
61. Chúng tôi sử dụng đối số
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
61 để tạo
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
55. Đây là đường dẫn đầy đủ đến tệp mẫu PHP mà chúng tôi muốn kết xuất

Sau đó, chúng tôi chuyển

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
55 thông qua một điều khoản bảo vệ. Trong đó mình dùng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
65 để check xem có đọc được file template không. Nếu không đọc được, chúng tôi quay lại ngay. Nếu không, chúng tôi bao gồm nó

Kết xuất các phần khác nhau của trang quản trị của chúng tôi

Bây giờ chúng ta có phương thức

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
60, chúng ta có thể sử dụng nó để hiển thị các phần khác nhau của trang quản trị. Chúng tôi kết xuất các phần này bằng các phương pháp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
50,
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
27 và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
49. Đây là ba phương thức cuối cùng của lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 mà chúng ta đã thấy nhưng chưa được triển khai

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
0

Trên đây là lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng tôi với ba phương thức được thêm vào. Như bạn có thể thấy, những phương pháp này không có nhiều mã. Tất cả những gì họ làm là gọi phương thức
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
60 mà chúng ta đã tạo trong phần trước

Mỗi phương thức yêu cầu nó hiển thị một mẫu cụ thể. Đó cũng là nơi mà hầu hết các điều kỳ diệu xảy ra. Vì vậy, đó là những gì chúng ta sẽ xem xét tiếp theo

Mẫu trang

Mẫu đầu tiên và lớn nhất mà chúng tôi cần là mẫu được hiển thị bằng phương pháp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
50. Đây là template chứa hầu hết trang quản trị. Dựa trên quy ước trong
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
60, bạn cần đặt tên cho mẫu này là
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
75

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
1

Vì vậy, đây là nội dung của

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
75. Có khá nhiều thứ đang diễn ra, nhưng hầu hết chỉ là đánh dấu HTML. Điều đó nói rằng, có một vài điều đang diễn ra đáng để vượt qua

Đầu tiên, bạn có thể nhận thấy rất nhiều việc sử dụng

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
77 bên trong mẫu. Đó là bởi vì, theo như PHP biết, mẫu vẫn nằm trong phạm vi của lớp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng tôi. [Ồ. Trippy. ] Điều đó có nghĩa là chúng ta có thể làm những điều tương tự mà chúng ta sẽ làm bên trong một phương thức của lớp thông thường

Đó là lý do tại sao chúng tôi đang sử dụng

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
79 bên trong thẻ
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
80. Chúng tôi cũng sử dụng phương pháp
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
04 sau này với các chức năng API cài đặt. Nhưng chúng tôi sẽ bao gồm những điều đó trong một giây

Tiếp theo, chúng ta có một câu lệnh

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
82 để kiểm tra xem siêu toàn cục
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
83 có giá trị cho khóa
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
84 hay không. Đây là tham số mà WordPress chuyển dưới dạng chuỗi truy vấn để cho bạn biết rằng nó đã cập nhật các tùy chọn trên trang. Nếu nó không trống, chúng tôi sẽ hiển thị một thông báo cho biết rằng chúng tôi đã cập nhật cài đặt của plugin

Cuối cùng, chúng ta có một biểu mẫu và bên trong là các chức năng API cài đặt mà chúng ta đã đề cập trước đó. Bạn phải đặt hai chức năng này bên trong thẻ

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
85. Nếu không, HTML mà chúng xuất ra sẽ không hoạt động

Cái đầu tiên là hàm

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
86. Đây là hàm xuất giá trị ẩn nonce và
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
87 cho trang quản trị. Không có chúng, WordPress sẽ không xử lý biểu mẫu trang quản trị đã gửi của bạn

Chức năng thứ hai là

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
88. Nó hiển thị tất cả HTML cho các phần và trường mà chúng tôi đã đăng ký trước đó. HTML duy nhất mà nó không hiển thị là nút gửi. Đó là lý do tại sao chúng tôi sử dụng chức năng
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
89 sau

Mẫu trường phần và tùy chọn

Hai mẫu còn lại không có cùng mức độ phức tạp như mẫu

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
75. Mẫu
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
91 thường chỉ có vài từ. Một cái gì đó để đi dưới tiêu đề phần của bạn để mô tả các lĩnh vực đã đăng ký trong phần đó

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
2

Mẫu mã ở trên là tất cả những gì có trong mẫu

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
91 của chúng tôi. Bạn không nên quên rằng bạn cần đặt văn bản của mình bên trong thẻ
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
93. Bạn cũng không nên quên dịch văn bản của mình nếu plugin của bạn hỗ trợ quốc tế hóa. [Mà nó nên. ]

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
3

Mẫu

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
94 phức tạp hơn một chút. [Nhưng không quá nhiều. ] Nó cần hiển thị phần tử
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
95 với giá trị của tùy chọn. Chúng tôi sử dụng hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
96 để lấy giá trị đó từ cơ sở dữ liệu WordPress. [Nếu bạn không muốn sử dụng WordPress luôn, hãy tạo một lớp để tương tác với các tùy chọn WordPress. ]

Tên

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
07 được sử dụng trong thẻ
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
95 và hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
96 có từ trước đó trong bài viết. Đó là tên của cài đặt mà chúng tôi đã đăng ký bằng hàm
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    call_user_func_array['add_submenu_page', $admin_page->get_page_arguments[]];
}
add_action['admin_menu', 'myplugin_add_admin_page'];
97. [Cái này cách đây ít lâu nên bạn có thể đã quên nó đến từ đâu. ]

Một điểm khởi đầu tốt

Và điều này kết thúc mọi thứ cho lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 của chúng ta. Chúng tôi đã phải trải qua rất nhiều thứ khác nhau để xây dựng nó. Nhưng đây là điều có thể xảy ra khi thiết kế các lớp phức tạp hơn

Và một điều cuối cùng. Bạn cũng không cần phải xem qua bài viết để ghép tất cả các mẫu mã lại với nhau. Bạn có thể tìm mã cho toàn bộ lớp

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 bên dưới

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4

Chúng tôi cũng đã thấy sớm trong bài viết rằng chúng tôi cần một cách để đăng ký trang quản trị của chúng tôi. Chúng tôi đã phải sử dụng chức năng

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
6 để làm điều đó. Dưới đây là cách chúng tôi đang thực hiện với
function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
31 mà chúng tôi đã thiết kế

function myplugin_add_admin_page[] {
    $admin_page = new MyPlugin_AdminPage[];

    // Call add_submenu_page function
}
add_action['admin_menu', 'myplugin_add_admin_page'];
4

Điều này sẽ cung cấp cho bạn tất cả các khối xây dựng mà bạn cần để xây dựng các lớp trang quản trị của riêng bạn. Tất cả những gì còn lại là để bạn thực hiện nó trong dự án của riêng bạn. Vui lòng để lại bất kỳ câu hỏi triển khai cụ thể nào mà bạn có thể có trong phần nhận xét

Chủ Đề