Tampaknya banyak pengembang plugin meluangkan waktu untuk menambahkan filter / tindakan kait untuk membiarkan pengguna mengubah fungsi produk mereka. Itu bagus, tetapi yang sering tidak mereka lakukan adalah memberikan daftar kait dan berapa banyak argumen yang mereka ambil.
Adakah yang menemukan cara otomatis terbaik untuk menunjuk pada direktori plugin (atau tema) dan melihat daftar semua kait yang tersedia?
Saya telah melihat beberapa plugin yang memindai kait, tetapi sejauh yang saya tahu, mereka menunjukkan kepada Anda mana yang sebenarnya dipanggil untuk memberikan halaman tertentu. Yang saya dapatkan bisa berguna. Tetapi kadang-kadang jika saya tahu saya berinteraksi dengan plugin tertentu, saya ingin tahu setiap tempat yang memungkinkan saya menghubungkan tindakan atau filter.
Jadi yang saya cari sebenarnya adalah sesuatu yang diberi direktori root plugin akan membuat daftar di mana setiap item termasuk:
- menandai
- ketik (tindakan atau filter)
- sejumlah argumen
- tempat itu disebut (melalui
do_action()
atauapply_filter()
) di sumber
Sebuah skrip akan menjadi hebat karena ini mungkin bisa dengan baik HTMLify semuanya dan menunjukkan kepada saya tepat di UI admin untuk setiap plugin. Tetapi bahkan skrip baris perintah yang menghasilkan file statis yang berguna akan bagus.
Jawaban:
Tidak ada skrip atau plugin yang saya tahu melakukan apa yang Anda inginkan. Seperti yang telah Anda nyatakan, ada skrip ( bahkan variabel global ) yang dapat Anda gunakan untuk mencetak filter dan tindakan yang sedang digunakan.
Adapun filter dan tindakan aktif, saya telah menulis dua fungsi yang sangat mendasar ( dengan bantuan di sana-sini ) yang menemukan semua
apply_filters
dando_action
contoh dalam file dan kemudian mencetaknyaDASAR-DASAR
Kami akan menggunakan
RecursiveDirectoryIterator
,,RecursiveIteratorIterator
danRegexIterator
kelas PHP untuk mendapatkan semua file PHP dalam direktori. Sebagai contoh, di localhost saya, saya telah menggunakanE:\xammp\htdocs\wordpress\wp-includes
Kami kemudian akan mengulang file, dan mencari dan mengembalikan (
preg_match_all
) semua contoh dariapply_filters
dando_action
. Saya telah mengaturnya agar sesuai dengan instance kurung yang disarangkan dan juga untuk mencocokkan spasi putih yang mungkin antaraapply_filters
/do_action
dan kurung pertamaKami akan sederhana kemudian membuat array dengan semua filter dan tindakan dan kemudian loop melalui array dan menampilkan nama file dan filter dan tindakan. Kami akan melewati file tanpa filter / tindakan
CATATAN PENTING
Fungsi ini sangat mahal. Jalankan hanya pada instalasi tes lokal.
Ubah fungsi sesuai kebutuhan. Anda dapat memutuskan untuk menulis output ke file, membuat halaman backend khusus untuk itu, opsi tidak terbatas
PILIHAN 1
Fungsi opsi pertama sangat sederhana, kami akan mengembalikan konten file sebagai string menggunakan
file_get_contents
, mencariapply_filters
/do_action
instance dan hanya menampilkan nama file dan nama filter / tindakanSaya telah berkomentar kode untuk mudah diikuti
Anda dapat menggunakan follow pada templat, frontend atau backend
Ini akan dicetak
PILIHAN 2
Opsi ini sedikit lebih mahal untuk dijalankan. Fungsi ini mengembalikan nomor baris tempat filter / tindakan dapat ditemukan.
Di sini kita gunakan
file
untuk meledakkan file menjadi array, lalu kita mencari dan mengembalikan filter / tindakan dan nomor barisAnda dapat menggunakan follow pada templat, frontend atau backend
Ini akan dicetak
EDIT
Ini pada dasarnya sebanyak yang saya bisa lakukan tanpa waktu skrip habis atau kehabisan memori. Dengan kode pada opsi 2, semudah pergi ke file tersebut dan mengatakan baris dalam kode sumber dan kemudian mendapatkan semua nilai parameter yang valid dari filter / action, juga, yang penting, dapatkan fungsi dan konteks lebih lanjut di mana filter / aksi digunakan
sumber
Kedengarannya seperti WP Parser melakukan apa yang Anda cari. Ini digunakan untuk menghasilkan referensi pengembang resmi . Ini mencantumkan parameter, tag @since dan referensi ke sumber. Ini bekerja dengan semua plugin WordPress dan dapat diakses melalui baris perintah:
sumber
Cepat dan geram
Baris
*nix
perintah yang baik selalu berguna:Banyak lagi opsi via
#man grep
.Kemudian kita bahkan dapat membuat skrip bash sederhana
wp-search.sh
:dan jalankan dengan.
Output yang cantik
Kita dapat menggunakan
--color
atribut untuk mewarnai keluarangrep
, tetapi perhatikan bahwa itu tidak akan bekerja denganless
.Pilihan lain adalah membuat tabel HTML untuk hasil pencarian.
Berikut adalah
awk
contoh yang saya buat yang menampilkan hasil pencarian sebagai tabel HTML, ke dalamresults.html
file:di mana saya menggunakan trik ini untuk menghapus semua spasi putih dan ini untuk mencetak semua bidang tetapi yang pertama.
Saya menggunakan di
sed
sini hanya untuk menambah ruang setelah kolon kedua (:
), kalau-kalau tidak ada ruang di sana.Naskah
Kami dapat menambahkan ini ke
wp-search.sh
skrip kami :di mana Anda harus menyesuaikan
/path/to/some/directory
dan/path/to/results.html
dengan kebutuhan Anda.Contoh - Mencari plugin
Jika kami mencoba ini di
wordpress-importer
plugin dengan:maka
results.html
file tersebut akan ditampilkan sebagai:Contoh - Mencari inti
Saya waktu mengujinya untuk intinya:
dan itu cepat!
Catatan
Untuk mendapatkan konteks tambahan, kita dapat menggunakan
-C NUMBER
grep.Kami dapat memodifikasi output HTML dengan berbagai cara, tetapi mudah-mudahan Anda dapat menyesuaikan ini lebih lanjut dengan kebutuhan Anda.
sumber