Apakah file plugin harus mengikuti konvensi tertentu untuk "dijemput" oleh WordPress?


8

Saya mengembangkan sebuah plugin menggunakan konvensi normal penamaan file plugin utama setelah folder plugin (yaitu prefix-somepluginuntuk folder dan prefix-someplugin.phpfile). Namun, saya melihat beberapa plugin yang menggunakan struktur berikut:

prefix-someplugin
 - plugin-loader.php // This file just loads src/prefix-someplugin.php
 - /src
    - prefix-someplugin.php

Jelas, jika mereka menggunakan struktur seperti itu, itu berarti ia berfungsi. Masalahnya adalah saya tidak yakin bagaimana cara kerjanya, maka pertanyaan saya. Bagaimana WP mengetahui file mana yang akan dimuat sebagai file plugin utama? Saya akan berasumsi bahwa itu mencari file bernama setelah folder, hanya menambahkan .phpsebagai ekstensi, tetapi tampaknya saya salah.

Apakah WPjust memindai wp-content/pluginsfolder, dan memuat semua file yang ditemukan di dalamnya, atau apakah itu mengikuti logika yang berbeda?

Terima kasih sebelumnya atas jawabannya.

Jawaban:


9

WordPress mendeteksi file sebagai plugin ketika ada header plugin. Jadi, Anda dapat menyimpan beberapa plugin dalam satu direktori, dan semuanya akan dikenali sebagai plugin yang berbeda.

Setiap file dengan setidaknya /* Plugin Name: something */adalah plugin.

Alasannya adalah bahwa WordPress memindai semua file PHP di direktori utama sebuah plugin.

Anda dapat menggunakan nama apa pun untuk file plugin. Hindari file non-plugin di direktori utama. Mereka hanya makan runtime. Masukkan semua file PHP lainnya ke dalam sub-direktori.



A-ha! Sekarang saya mengerti. Saya memeriksa file loader plugin dan berisi header plugin, yang biasanya ada di file plugin utama. Tampaknya penulis hanya membagi file menjadi dua (satu hanya dengan header + loader dan satu dengan kode plugin), sehingga semua hal-hal plugin ada srcdan tes di test. Terima kasih atas jawabannya. :)
Diego
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.