Чи wp-content / install.php - це випадаючий файл?


9

Я не можу знайти документацію чи дискусії щодо того, що таке і як використовувати плагіни для випадання.
Питання порушено в цьому запитанні та запитаннях, вміст населення при встановленні .

Чи є wp-content/install.phpфайл, який переосмислює функцію, що підключається, wp_install_defaultsплагіном, що випадає, чи ні?

Мої результати досліджень

Наступний перелік - зі статті хакре (яка, схоже, є походженням усіх інших примірників в інтерв'ю) .

File                Type of Plugin                          Loaded                          Context
advanced-cache.php  Advanced caching plugin.                on WP_CACHE value               Single
db.php              Custom database class                   always                          Single
db-error.php        Custom database error message           on error                        Single
install.php         Custom install script                   on install                      Single
maintenance.php     Custom maintenance message              on maintenance                  Single
object-cache.php    External object cache                   always                          Single
sunrise.php         Executed before Multisite is loaded     on SUNRISE value                Multi
blog-deleted.php    Custom blog deleted message             on deleted blog                 Multi
blog-inactive.php   Custom blog inactive message            on inactive blog                Multi
blog-suspended.php  Custom blog suspended message           on archived or spammed blog     Multi

Source: Data taken from global function _get_dropins() in wp-admin/includes/plugin.php.

У Codex випадаючий опис визначається як :

Конкретний PHP-файл


Спочатку у списку [wp-хакерів] нічого немає. І шукаючи "drop-in + wordcamp", я знайшов лише це, що стосується мого акценту :

Однією з великих переваг WordPress є його плагінова система. У майбутньому випуску 2.1 є дуже мало, що ви не можете зробити як плагін . Це полегшує використання WordPress як CMS та зберігає ваші налаштування окремо від основної кодової лінії; що в свою чергу спрощує оновлення та обслуговування.


1
Це не просто семантика? Я не будучи носієм англійської мови, я не бачу загальної різниці між "плагіном" і "плагіном"
Марк Каплун

@MarkKaplun: Ні, ні, справа не в семантиці. Питання в третьому реченні: Чи є файл wp-content / install.php, який переосмислює [...]
brasofilo

Я не отримую те, що ти шукаєш. Ви знаєте, що вже випадаючі файли завантажуються як му-плагіни, лише без заголовка плагіну. Що відкрито?
фуксія

@toscho, до речі: Wyck сказав, що wp-content/intall.phpце не Drop-in. Довіряючи його знанням, я подумав, що для роз'яснення цього потрібне запитання. Якщо ні, я з радістю видалю це. Я не хочу створювати будь-яку іншу полемічну тему.
brasofilo

Це поставило б за краще питання: чи install.phpє випуск?
фуксія

Відповіді:


9

Щоб відповісти на ваше запитання, так

Насправді, існує багато інших функцій, які ви можете змінити у цьому файлі, він включений як перший рядок "wp-admin / include / upgrade.php", і всередині є багато функцій, які потрібно перекрити

На жаль, доступно не так багато інформації щодо плагінів, що випадають, але я спробую поставити кілька пунктів

  1. Вони відрізняються від звичайних плагінів у тому сенсі, що їх неможливо упакувати та встановити через адмін WordPress.
  2. Використання їх означає, що власник вручну завантажив плагін у правильному місці. Тож передбачається, що це написав і додав власник.
  3. Ці плагіни призначені лише для того, щоб вони мали код, специфічний для конкретного веб-сайту Wordpress.
  4. Оскільки їх додав власник, їх не можна контролювати (активувати / деактивувати) з панелі адміністратора. Оператор include включає в себе серцевинний код.
  5. Їм не потрібно мати заголовків файлів.

Підводячи підсумок, це файли PHP, які жорстко кодуються для включення (якщо вони є), щоразу, коли відповідна функціональність завантажується за допомогою wordpress.

Для їх використання просто створіть файл php з цим ім'ям у каталозі "wp-content", і він буде автоматично включений. Цей файл, звичайно, може включати будь-яку кількість інших файлів за потребою.

EDIT

Як зазначав Тоско,
1) Спливаючі файли (якщо вони доступні) також вказані на панелі адміністратора Wordpress разом з усіма іншими плагінами. Хоча на відміну від інших плагінів, у вас немає керування деактивувати їх звідти.
2) Wordpress під час оновлення (оновлення ядра) не змінює каталог "wp-content". З цієї причини ці плагіни ніколи не змінюються між оновленнями.
3) Ви можете визначити константу в, wp-config.phpщоб змінити каталог "wp-content" на інший. Постійна, яку вам потрібно визначити, - це WP_CONTENT_DIR. Це також змінює параметри за замовчуванням для інших констант, таких як каталог плагінів, тому вам потрібно буде також подбати про це, якщо потрібно


2
Ви можете додати, що вони пережили оновлення WordPress, перераховані на сторінці адміністратора плагінів, і ви можете визначити додаткові шляхи до вхідного меню в wp-config.php.
фуксія

Гарний підсумок, Мридул. Я щойно шукав ядро, і так, ви майже перекладаєте на англійську мову, що говорить код.
brasofilo

1

Як wp-content/install.phpпрацює;

Процес установки WP запускається wp-admin/install.php

У рядку 39 встановлення він працює wp-admin/includes/upgrade.php

require_once( dirname( __FILE__ ) . '/includes/upgrade.php' );

Потім цей файл спочатку перевірте, чи не створено користувачем install.php, і якщо його не знайдено, запускається установка за замовчуванням, як видно з цього коду;

( file_exists(WP_CONTENT_DIR . '/install.php') )
    require (WP_CONTENT_DIR . '/install.php');

Яким чином цей робочий процес впливає на install.phpте, що ми входили чи ні?
brasofilo

Це все ще "випадаючий", я просто хотів зробити відмінність із mu-pluginкоментарем, котрим я коментував вище, вибачте за плутанину, я вважаю, що Mridul Aggarwal є правильним.
Wyck

Жодної проблеми, я дійсно заплутався. Але якщо система називає Must-use одного виду та Drop-in іншого виду, ми повинні дотримуватися конвенції. Ура :)
brasofilo

Так, угоди про іменування повинні бути більш чіткими, але також більшість людей не знають про звичайinstall.php
Wyck
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.