por que os plugins são carregados antes dos pluggables

4

Eu tenho esta imagem de um E-book para o desenvolvimento do plugin WP. Você poderia por favor me esclarecer por que os Plugins são carregados antes de Pluggables?

    
por A.C.Balaji 17.01.2012 / 17:24

2 respostas

3

Diretamente da fonte para pluggable.php :

<?php
/**
 * These functions can be replaced via plugins. If plugins do not redefine these
 * functions, then these will be used instead.
 *
 * @package WordPress
 */
?>

Então, há a sua resposta, as funções em pluggable.php são destinadas a serem substituídas pelos Plugins .

Re: ordem de carregamento:

Veja este post por Konstantin Kovshenin . Os pontos relevantes (10-15):

  
  1. wp_get_active_and_valid_plugins() recupera a lista de todos os arquivos do plug-in ativos para carregamento e os inclui. Este é o ponto onde o código do seu plugin é executado, funções, classes definidas, etc.
  2.   
  3. Inclui wp-includes/wp-pluggable.php e wp-includes/wp-pluggable-deprecated.php , que incluem funções (e funções reprovadas) que podem ser redefinidas por plug-ins. Como wp_mail() para correspondência mais avançada, wp_authenticate() para métodos de autenticação alternativos, etc.
  4.   
  5. wp_set_internal_encoding() é chamado para definir a codificação interna de acordo com a opção blog_charset.
  6.   
  7. wp_cache_postload() é chamado se o cache de objetos estiver ativado.
  8.   
  9. Neste ponto, uma ação plugins_loaded é disparada. Esta é a primeira ação (depois de muplugins_loaded disparado antes de carregar os plugins WordPress não multi-site) que você pode conectar, vem antes do init porque o WordPress ainda não foi inicializado, pelo menos não totalmente.
  10.   

Então, simplificado:

  1. Plugins são carregados
  2. pluggable.php está carregado
  3. A plugins_loaded action foi acionada

Qual é a ordem esperada.

(Nota: tudo isso acontece em wp-settings.php .)

    
por Chip Bennett 17.01.2012 / 17:40
0

Não use funções conectáveis!

Por favor, note que você pode nunca ter certeza, que um plugin posterior não substitui o seu plugável ! Escrevi na lista de discussão wp-hackers sobre isso há algum tempo.

Há também outro tópico sobre wp-hackers que fala sobre o fato de que não há alternativa implementado. Por favor, leia também o bilhete trac relacionado .

    
por kaiser 17.01.2012 / 19:21