Должны ли файлы плагинов следовать определенному соглашению, которое «подхватывает» WordPress?


8

Я разработал плагин, используя обычное соглашение об именовании основного файла плагина после папки плагина (то есть prefix-somepluginдля папки и prefix-someplugin.phpдля файла). Тем не менее, я видел несколько плагинов, которые используют следующую структуру:

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

Очевидно, что если они использовали такую ​​структуру, значит, она работает. Проблема в том, что я не уверен, как это работает, отсюда и мой вопрос. Как WP узнает, какой файл загрузить в качестве основного файла плагина? Я бы предположил, что он искал файл, названный в честь папки, просто добавив .phpв качестве расширения, но, похоже, я ошибся.

Производит ли WPjust сканирование wp-content/pluginsпапок и загружает все найденные в них файлы или использует другую логику?

Заранее спасибо за ответы.

Ответы:


9

WordPress обнаруживает файл как плагин, когда есть заголовок плагина. Таким образом, вы можете хранить несколько плагинов в одном каталоге, и все они будут распознаваться как разные плагины.

Каждый файл, по крайней мере, /* Plugin Name: something */является плагином.

Причина в том, что WordPress сканирует все файлы PHP в главном каталоге плагина.

Вы можете использовать любое имя для файла плагина. Избегайте не подключаемых файлов в главном каталоге. Они просто едят во время выполнения. Поместите все остальные файлы PHP в подкаталоги.



Ага! Теперь я понимаю. Я проверил файл загрузчика плагинов, и он содержит заголовок плагина, который обычно находится в основном файле плагина. Похоже, что автор просто разделил файл на две части (одну с заголовком + загрузчиком и одну с кодом плагина), чтобы все содержимое плагина было включено, srcа тесты - test. Спасибо за ответ. :)
Диего
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.