Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress Plugins

Mewujudkan Halaman Pentadbiran WordPress Custom, Bahagian 1

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Creating Custom WordPress Administration Pages.
Creating Custom WordPress Administration Pages, Part 2

Malay (Melayu) translation by Aisyah Arrafah (you can also view the original English article)

Dalam siri sebelumnya, saya menyediakan panduan mendalam untuk bekerja dengan API Tetapan WordPress. Bagi mereka yang baru di WordPress atau yang telah menggunakan alat lain seperti Customizer untuk mengendalikan pelbagai pilihan, mungkin sesuatu yang anda tidak perlu gunakan dalam tema atau pembangunan plugin anda.

Seperti yang dinyatakan dalam Codex:

API Tetapan, ditambah dalam WordPress 2.7, membolehkan halaman admin yang mengandungi borang tetapan untuk diuruskan secara semi-automatik. Ia membolehkan anda menentukan halaman tetapan, bahagian dalam halaman dan medan di dalam seksyen.

Saya tidak fikir ia adalah sesuatu yang diperlukan untuk belajar, tetapi ia adalah sesuatu yang anda mesti tahu ada dan tahu bagaimana untuk bekerja dengannya jika anda mendapati diri anda perlu memperkenalkan halaman pilihan ke dalam kawasan pentadbiran WordPress.

Ia adalah API yang berkuasa, walaupun agak kompleks, yang memberi kita banyak fungsinya. Pada akhirnya, ia membolehkan kami melakukan banyak kerja di sisi pelayan dan kerja minimum di sisi klien.

Tetapi bagaimana pula dengan masa kita bekerja dengan penyelesaian tersuai untuk klien dan kita memerlukan sedikit lebih banyak fleksibiliti daripada API Tetapan yang disediakan? Sebagai contoh, katakan kita perlu membina plugin yang akan mempunyai halaman tetapan tetapi memerlukan satu set pilihan yang lebih fleksibel dan fungsi pengesahan yang disesuaikan?

Dalam kes itu, mungkin untuk menulis laman admin pentadbiran WordPress kami sendiri. Dalam siri ini, kita akan melihat bagaimana untuk melakukannya dengan tepat.

Sebelum Kami Mulakan

Seperti kebanyakan tutorial seperti ini, adalah penting untuk memastikan bahawa anda mempunyai segala-galanya untuk diikuti supaya anda dapat bekerja dengan kod sumber yang kami sampaikan sepanjang siri ini.

Untuk tutorial ini, saya mengandaikan:

  • Anda mempunyai seting persekitaran pembangunan tempatan berbanding sistem pengendalian anda.
  • Anda mempunyai salinan WordPress dipasang dan sedia untuk digunakan untuk memasang plugin.
  • Anda sudah biasa dengan amalan pembangunan plugin WordPress.
  • Anda selesa bekerja dengan PHP dan HTML.

Jika anda tidak biasa dengan cara menyediakan persekitaran pembangunan tempatan yang termasuk WordPress, sila lihat siri ini untuk cara melakukannya.

Dan jika anda agak selesa dengan PHP, walaupun ia hanya membaca bahasa, maka saya akan melakukan yang terbaik untuk memberikan arahan dan komen yang jelas untuk setiap bit kod yang kita kongsi.

Setelah semua ini selesai, kami bersedia untuk mula bekerja pada plugin kami.

Tetapan Pentadbiran WordPress Custom

Menjelang akhir siri ini, kami akan mempunyai plugin yang memenuhi keperluan berikut:

  • Menambah item submenu baru ke sistem menu WordPress sedia ada.
  • Menambah halaman tetapan baru yang sepadan dengan item submenu baru.
  • Sanitizes dan serializes options pada halaman.
  • Mengesahkan dan mengembalikan nilai yang disimpan dan menjadikannya sesuai.

Selain itu, kami akan memastikan bahawa kami mendekati ini dengan cara yang paling modular yang mungkin menggunakan Standard Pengekodan WordPress dan amalan yang serupa untuk membuat membaca, menulis, dan mengekalkan pemalam kami semudah mungkin.

1. Plugin Bootstrap

Perkara pertama yang perlu kita lakukan ialah membuat bootstrap plugin. Ini termasuk membuat direktori untuk menempatkan fail plugin, README asas, salinan lesen, fail bootstrap yang akhirnya akan digunakan untuk memulakan plugin, dan direktori yang akan digunakan untuk memegang kelas yang berkaitan dengan pentadbiran fungsi.

Fail-fail tersedia untuk dimuat turun sebagai lampiran pada siaran ini tetapi, sementara itu, anda dapat melihat direktori saya seperti di bawah:

The plugins directory structure

Selain itu, kandungan bootstrap plugin adalah mudah. Semak kod berikut untuk fail PHP tunggal custom-admin-settings.php, dan kemudian saya akan membincangkannya secara lebih terperinci di bawah blok.

Perhatikan bahawa dalam kod di atas, terdapat kod sebenar yang sangat kecil. Sebaliknya, banyak komen. Blok utama komen di bahagian atas fail menerangkan apa yang dilakukan oleh fail tersebut.

Kawasan di bawah tag wordpress-plugin adalah apa yang akan dibaca oleh WordPress untuk menjana tajuk plugin, keterangan, dan pautan relatif di papan pemuka plugin WordPress.

Seterusnya, kami menghalang sesiapa daripada mengakses fail secara langsung. Dan, akhirnya, kami membuat fungsi tersuai untuk dipecat dengan cangkuk plugins_loaded kamiTerjemahan dari kamipronominawekami Fungsi ini adalah apa yang akan digunakan untuk memulakan plugin.

Pada ketika ini, anda sepatutnya dapat log masuk ke WordPress, menavigasi ke Dashboard Plugin, dan kemudian lihat plugin yang tersedia untuk diaktifkan. Teruskan dan klik Aktifkan.

Tiada apa yang akan berlaku, tetapi kami akan mula menambah fungsinya seperti yang kita laksanakan sepanjang tutorial ini.

2. Membuat Item Submenu

Untuk mula bekerja pada plugin, mari kita mula memperkenalkan item submenu. Untuk melakukan ini, kita perlu memanfaatkan fungsi WordPress WordPress add_options_page. Fungsi ini memerlukan lima parameter:

  1. teks yang dipaparkan sebagai tajuk halaman pilihan yang sepadan
  2. teks yang dipaparkan sebagai teks submenu untuk item menu
  3. keupayaan yang diperlukan untuk mengakses item menu ini
  4. menu slug yang digunakan untuk mengenal pasti item submenu ini
  5. panggilan balik ke fungsi yang bertanggungjawab untuk membuat halaman pentadbir

Perhatikan bahawa kami akan menggunakan kelas untuk mengatur fungsi kami, jadi apa yang kami lakukan akan berorientasikan objek.

Pertama, mari kita buat kelas dalam direktori admin dipanggil kelas-submenu.php. Oleh kerana kelas ini bertanggungjawab memperkenalkan submenu baru, kami akan menamakannya secara deskriptif.

Kandungan kelas harus kelihatan seperti ini:

Pada ketika ini, plugin masih tidak akan melakukan apa-apa. Kita masih perlu membuat kelas Submenu_Page yang sebenarnya, dan kemudian kita perlu menghidupkan kelas sehingga ke fail bootstrap.

3. Membuat Halaman Submenu

Mari kita mulai dengan kelas Submenu_Page terlebih dahulu. Buat fail lain dalam direktori admin dan panggil kelas-submenu-page.php. Kemudian, di file tersebut, tambahkan kode berikut.

Saat halaman ini ditampilkan, maka hanya akan menampilkan teksnya: 'Ini adalah halaman submenu dasar.' Kami akhirnya akan menambahkan opsi baru. Tapi pertama, mari kita bawa plugin ini ke kehidupan dengan instantiate di dalam file bootstrap kita.

4. Rendering Menu dan Page

Selanjutnya, buka file custom-admin-settings.php yang telah kita buat tadi di tutorial ini. Mari kita lanjutkan dan tuliskan kode yang diperlukan untuk mengenalkan item submenu baru dan halaman yang terkait.

Ingatlah, kelas Submenu memerlukan suatu contoh kelas Submenu_Page diluluskan ke dalam pembinanya, dan kemudian kita perlu memanggil kaedah init pada kelas Submenu untuk menetapkan keseluruhan perkara itu.

Dalam kod, ini kelihatan seperti berikut:

Pada ketika ini, anda sepatutnya dapat menyegarkan pemasangan WordPress anda, mengaktifkan plugin (jika ia belum diaktifkan), dan kemudian lihat halaman baharu anda yang diberikan di kawasan pentadbiran.

The custom WordPress administration screen

Dalam artikel seterusnya, kita akan melihat bagaimana kita boleh mula memperkenalkan tetapan sebenar ke dalam skrin. Di samping itu, kami akan melihat beberapa amalan terbaik dari segi kerja dengan templat kami dan sebahagian templat kami, dan kemudian kami akan melihat bagaimana mereka akan disandarkan kepada API yang bertanggungjawab untuk bukan sahaja menyimpannya tetapi bagaimana kami akan membersihkan dan mengesahkan mereka.

Tetapi sebelum kita pergi sejauh ini, saya ingin bercakap sedikit tentang reka bentuk kelas yang telah kita lihat dalam tutorial ini. Secara umumnya, saya ingin bercakap tentang mengapa kita mempunyai kelas untuk Submenu dan Submenu_Page dan bagaimana ia berkaitan dengan fail bootstrap.

Satu Tugas mengenai Tanggungjawab Kelas

Bagi anda yang biasa dengan Prinsip Tanggungjawab Tunggal, bahagian ini mungkin tidak menarik minat anda. Tetapi jika siapa yang memerlukan penyegar semula atau ingin mendengar lebih lanjut, maka baca seterusnya.

Kumpulkan perkara-perkara yang berubah dengan alasan yang sama. Mengasingkan perkara-perkara yang berubah dengan sebab yang berbeza.

Terdapat lebih banyak perkara ini, tetapi jika anda melihat setiap kelas kami (sekurang-kurangnya kedua-dua kita setakat ini), maka jelas bahawa sebab kelas kita boleh berubah adalah seperti berikut:

  • Kandungan submenu mungkin berubah. Apa-apa pun dari tajuk halaman ke menu slug dan segala-galanya di antara.
  • Cara halaman membuat kandungannya boleh (dan akan berubah). Khususnya, sekarang tidak ada apa-apa tetapi gema rentetan. Tidak lama lagi, ia akan termasuk fail tertentu. Selepas itu, ia mungkin perlu memasukkan beberapa fail.

Dua sebab di atas adalah dua sebab yang sangat berbeza yang mungkin berubah oleh kelas, jadi menjaga mereka bersama dalam kelas yang sama akan melanggar prinsip di atas.

Pada akhirnya, saya membawa ini bukan sahaja untuk membantu menerangkan prinsip-prinsip kejuruteraan perisian yang lebih besar yang boleh digunakan di WordPress, tetapi juga untuk membantu mempersiapkan anda untuk beberapa sebab yang kami akan memecahkan perkara-perkara tertentu yang biasanya fail besar dalam konteks pemalam.

Perkara yang baik tentang prinsip pembelajaran ialah mereka boleh digunakan dalam pelbagai projek dan bukan hanya dalam projek tunggal. Anda belajar mereka, anda mengamalkan menggunakannya, dan anda menjadi lebih baik pada penyelesaian arkitek untuk orang lain.

Kurva pembelajaran mungkin curam, tetapi sebaik sahaja anda memulakan pendakian itu, ia akan menjadi lebih mudah dan mudah untuk memasukkan prinsip-prinsip ke dalam kerja harian anda. Kemudian, kerja yang anda sediakan untuk orang lain menjadi lebih mudah untuk dikekalkan dari masa ke masa.

Kesimpulannya

Jangan lupa bahawa anda boleh memuat turun plugin dalam keadaan semasa dari siaran ini. Semasa kami maju melalui siri ini, saya akan membuat versi terbaharu yang ada pada setiap siaran supaya anda dapat mengikuti bersama-sama dengan kod yang diliputi dalam setiap tutorial, menggeram dengannya, dan menyediakan soalan yang mungkin anda ingin tanya dalam komen .

Sebagai nota sampingan, jika anda sedang mencari utiliti lain untuk membantu anda membina set alat anda yang semakin berkembang untuk WordPress atau kod untuk belajar dan menjadi lebih mahir dalam WordPress, jangan lupa untuk melihat apa yang kami ada dalam Pasaran Envato.

Ingat, anda boleh menangkap semua kursus dan tutorial saya di halaman profil saya, dan anda boleh mengikuti saya di blog saya dan / atau Twitter saya di @tommcfarlin di mana saya bercakap mengenai pelbagai amalan pembangunan perisian dan bagaimana kita boleh menggunakannya di WordPress.

Akhirnya, jangan teragak-agak untuk meninggalkan apa-apa soalan atau komen dalam suapan di bawah. Saya melakukan yang terbaik untuk menyertai dan menjawab setiap soalan atau kritikan yang anda tawarkan kerana ia berkaitan dengan projek ini.

Sumber

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.