O wp-content / install.php é um drop-in?

9

Não consigo encontrar documentação ou discussões sobre o que é e como usar os plug-ins Drop-in.
A questão foi levantada nas perguntas e respostas, Preencher conteúdo na instalação .

Um wp-content/install.phparquivo que redefine a função conectável é wp_install_defaultsum plug-in Drop-in ou não?

Meus resultados de pesquisa

A lista a seguir é do artigo de hakre (que parece ser a origem de todas as outras cópias nas interwebs) .

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.

No Codex, um Drop-in é definido como :

O arquivo PHP concreto


No início, não há nada na lista [wp-hackers]. E ao pesquisar por "drop-in + wordcamp", achei relevante apenas minha ênfase :

Um dos grandes pontos fortes do WordPress é o seu sistema de plugins. Na próxima versão 2.1, há muito pouco que você não pode fazer como um plug-in suspenso . Isso facilita o uso do WordPress como um CMS e mantém suas personalizações separadas da linha de código principal; o que, por sua vez, simplifica atualizações e manutenção.

brasofilo
fonte
11
Não é apenas semântica? Não sendo um falante nativo de Inglês não vejo a distinção implícita entre "drop-in plug-in" e "plugin"
Mark Kaplun
@ MarkKaplun: Não, não, não se trata de semântica. A questão está na 3ª frase: é um arquivo wp-content / install.php que redefine [...]
brasofilo
Eu não entendo o que você quer. Você já sabe que os drop-ins são arquivos carregados como mu-plugins, apenas sem um cabeçalho de plug-in. O que está aberto?
fuxia
@toscho, ao ponto: Wyck disse que wp-content/intall.phpnão é um Drop-in. Confiando em seu conhecimento, pensei que era necessária uma pergunta para esclarecer isso. Caso contrário, excluirei isso com prazer. Não quero criar nenhum outro tópico polêmico.
brasofilo
Isso faria uma pergunta melhor: é install.phpum comparecimento?
fuxia

Respostas:

9

Para responder sua pergunta, sim

De fato, existem muitas outras funções que você pode substituir nesse arquivo, que está incluído como a primeira linha de "wp-admin / includes / upgrade.php" e há muitas funções internas a serem substituídas

Infelizmente, não há muitas informações disponíveis sobre os plug-ins suspensos, mas tentarei colocar alguns pontos

  1. Eles são distintos dos plugins normais no sentido de que eles não podem ser empacotados e instalados através do administrador do wordpress.
  2. Usá-los significa que o proprietário enviou o plug-in manualmente no local correto. Portanto, supõe-se que ele seja escrito e adicionado pelo próprio proprietário.
  3. Esses plugins destinam-se apenas a ter um código específico para o site wordpress específico.
  4. Como são adicionados pelo proprietário, eles não podem ser controlados (ativados / desativados) no painel de administração. A declaração de inclusão está codificada no núcleo.
  5. Eles não precisam ter nenhum cabeçalho de arquivo.

Para resumir, eles são arquivos php codificados para serem incluídos (se existir), sempre que a funcionalidade correspondente estiver sendo carregada pelo wordpress.

Para usá-los, basta criar um arquivo php com esse nome dentro do diretório "wp-content" e ele será automaticamente incluído. É claro que esse arquivo pode incluir qualquer número de outros arquivos, conforme necessário.

EDITAR

Como toscho apontou,
1) Drop-ins (se disponíveis) também são listados no painel de administração do wordpress com todos os outros plugins. Embora diferente de outros plugins, você não tem o controle para desativá-los a partir daí.
2) O Wordpress, ao atualizar-se (atualização principal), não altera o diretório "wp-content". Por esse motivo, esses plug-ins nunca mudam entre as atualizações.
3) Você pode definir uma constante no wp-config.phpdiretório para alterar o diretório "wp-content" para outro. A constante que você precisa definir é WP_CONTENT_DIR. Isso também altera os padrões de outras constantes, como o diretório de plugins, portanto, você precisará cuidar disso também, se necessário

Mridul Aggarwal
fonte
2
Você pode adicionar eles sobrevivem a uma atualização do WordPress, estão listados na página de administração do plug-in e pode definir caminhos adicionais para o drop-in wp-config.php.
fuxia
Bom resumo, Mridul. Acabei de pesquisar no núcleo e sim, você está quase traduzindo para o inglês o que o código diz.
91312 brasofilo
1

Como wp-content/install.phpfunciona;

O processo de instalação do WP é executado wp-admin/install.php

Na linha 39 da instalação, ele é executado wp-admin/includes/upgrade.php

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

Este arquivo verifica primeiro se há um install.php gerado pelo usuário e, se não for encontrado, executa a instalação padrão como vista por este código;

( file_exists(WP_CONTENT_DIR . '/install.php') )
    require (WP_CONTENT_DIR . '/install.php');
Wyck
fonte
De que maneira esse fluxo de trabalho afeta o fato de install.phpsermos um Drop-in ou não?
Brasofilo 9/12/12
Ainda é um "drop-in". Eu só queria fazer uma distinção com o mu-pluginque comentei acima, desculpe pela confusão, acho que o de Mridul Aggarwal está correto.
Wyck
Sem problemas, eu realmente fiquei confuso. Mas, se o sistema chamar Must-use de um tipo e Drop-in de outro tipo, devemos seguir a convenção. Cheers :)
brasofilo 9/12/12
Sim, as convenções de nomenclatura devem ser mais claras, mas também a maioria das pessoas não sabe sobre o costume.install.php
Wyck