Apakah wp-content / install.php Drop-in?

9

Saya tidak dapat menemukan dokumentasi atau diskusi tentang apa dan bagaimana cara menggunakan plugin Drop-in.
Pertanyaannya muncul dalam Q&A ini, Populate content on install .

Apakah wp-content/install.phpfile yang mengubah fungsi pluggable wp_install_defaultsmenjadi plugin Drop-in atau tidak?

Hasil penelitian saya

Daftar berikut ini dari artikel hakre (yang tampaknya merupakan asal dari semua salinan lain dalam jalinan) .

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.

Dalam Codex, Drop-in didefinisikan sebagai :

File PHP yang konkret


Pada awalnya, tidak ada dalam daftar [wp-hacker]. Dan mencari "drop-in + wordcamp" Saya hanya menemukan ini relevansi penekanan saya :

Salah satu kekuatan hebat WordPress adalah sistem plugin-nya. Dalam rilis 2.1 yang akan datang, ada sangat sedikit yang tidak bisa Anda lakukan sebagai plugin drop-in . Ini membuatnya mudah untuk menggunakan WordPress sebagai CMS dan menjaga kustomisasi Anda terpisah dari codeline utama; yang pada gilirannya menyederhanakan peningkatan dan pemeliharaan.

brasofilo
sumber
1
Bukankah ini hanya semantik? Bukan menjadi penutur asli bahasa Inggris, saya gagal melihat perbedaan yang tersirat antara "drop-in plugin" dan "plugin"
Mark Kaplun
@MarkKaplun: Tidak, tidak, ini bukan tentang semantik. Pertanyaannya ada pada kalimat ke-3: Apakah file wp-content / install.php yang mengubah [...]
brasofilo
Saya tidak mengerti untuk apa Anda keluar. Anda tahu bahwa drop-in adalah file yang dimuat seperti mu-plugins, hanya tanpa header plugin. Apa yang terbuka?
fuxia
@toscho, to the point: Wyck mengatakan bahwa wp-content/intall.phpitu bukan Drop-in. Mempercayai pengetahuannya, saya pikir diperlukan Pertanyaan untuk mengklarifikasi itu. Jika tidak, saya dengan senang hati akan menghapus ini. Saya tidak ingin membuat topik polemik lainnya.
brasofilo
Itu akan membuat pertanyaan yang lebih baik: Apakah install.phpdrop-in?
fuxia

Jawaban:

9

Untuk menjawab pertanyaan Anda, Ya

Sebenarnya, ada banyak fungsi lain yang bisa Anda timpa dalam file itu, itu termasuk sebagai baris pertama "wp-admin / include / upgrade.php" & ada banyak fungsi di dalamnya yang akan ditimpa

Sayangnya, tidak ada terlalu banyak informasi yang tersedia tentang plugin drop-in tetapi saya akan mencoba untuk memberikan beberapa poin

  1. Mereka berbeda dengan plugin normal dalam arti bahwa mereka tidak dapat dikemas & diinstal melalui admin wordpress.
  2. Menggunakannya berarti pemilik mengunggah plugin secara manual di lokasi yang benar. Jadi diasumsikan itu ditulis & ditambahkan oleh pemiliknya sendiri.
  3. Plugin ini hanya dimaksudkan untuk memiliki kode khusus untuk situs wordpress tertentu.
  4. Karena ditambahkan oleh pemilik, mereka tidak dapat dikontrol (diaktifkan / dinonaktifkan) dari panel admin. Pernyataan sertakan adalah hardcoded di inti.
  5. Mereka tidak perlu memiliki header file.

Untuk meringkas, mereka file php hardcoded untuk dimasukkan (jika ada), setiap kali fungsi yang sesuai sedang dimuat oleh wordpress.

Untuk menggunakannya, cukup buat file php dengan nama itu di dalam direktori "wp-content" & akan dimasukkan secara otomatis. File itu tentu saja dapat mencakup sejumlah file lain yang diperlukan.

EDIT

Seperti yang ditunjukkan oleh toscho,
1) Drop-in (jika tersedia) juga terdaftar di panel admin wordpress dengan semua plugin lainnya. Meskipun tidak seperti plugin lain, Anda tidak memiliki kontrol untuk menonaktifkannya dari sana.
2) Wordpress, ketika memutakhirkan sendiri (peningkatan inti), tidak mengubah direktori "wp-content". Karena alasan ini, plugin ini tidak pernah berubah di antara peningkatan.
3) Anda dapat mendefinisikan konstanta wp-config.phpuntuk mengubah direktori "konten-wp" ke yang lain. Konstanta yang perlu Anda tetapkan adalah WP_CONTENT_DIR. Ini juga mengubah default untuk konstanta lain seperti direktori plugins, jadi Anda harus menjaganya juga, jika diperlukan

Mridul Aggarwal
sumber
2
Anda dapat menambahkan mereka selamat dari pembaruan WordPress, terdaftar di halaman admin plugin, dan Anda dapat menentukan jalur drop-in tambahan di wp-config.php.
fuxia
Ringkasan yang bagus, Mridul. Saya baru saja mencari inti dan ya, Anda hampir menerjemahkan ke dalam bahasa Inggris apa kata kode.
brasofilo
1

Bagaimana cara wp-content/install.phpkerjanya;

Proses instalasi WP berjalan wp-admin/install.php

Pada baris 39, instal berjalan wp-admin/includes/upgrade.php

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

File ini kemudian memeriksa pengguna yang menginstal install.php terlebih dahulu dan jika tidak ditemukan jalankan instalasi default seperti yang terlihat oleh kode ini;

( file_exists(WP_CONTENT_DIR . '/install.php') )
    require (WP_CONTENT_DIR . '/install.php');
Wyck
sumber
Dengan cara apa alur kerja ini memengaruhi kita install.phpmenjadi Drop-in atau tidak?
brasofilo
Itu masih "drop-in" Saya hanya ingin membuat perbedaan dengan mu-pluginsaya berkomentar di atas, maaf atas kebingungan, saya pikir Mridul Aggarwal benar.
Wyck
Tidak masalah, saya benar-benar bingung. Tetapi, jika sistem memanggil Harus-gunakan satu jenis dan Drop-dalam jenis lain, kita harus tetap berpegang pada konvensi. Cheers :)
brasofilo
Ya konvensi penamaan harus lebih jelas, tetapi juga kebanyakan orang tidak tahu tentang kebiasaaninstall.php
Wyck