Fiz meu próprio serviço de upload para o meu site, que é separado do WP, mas usa o WP para fornecer funções de banco de dados de baixo nível e verificação do usuário. Para fazer isso, incluo wp-load.php no meu script principal (Uploadify), mas isso parece preencher a memória do servidor com componentes desnecessários. Graças a isso, estou vendo um erro no meu script que parece apontar para um plugin WP instalado.
Como carregar apenas os principais componentes do WP e ignorar plugins? Isso é possível?
Respostas:
Desativar plugins completamente significa que você perde muitas vantagens.
Existem distribuições de wordpress que vão além e arrancam posts e links, etc., mas sempre ficam atrás do núcleo do WordPress e tendem a não sobreviver por tanto tempo.
Aqui estão algumas coisas que poderiam ser feitas
Iniciação curta
Colocando isso no seu wp-config.php:
Ou defini-lo em algum lugar antes de carregar no wordpress, deve reduzir o processo de carregamento e devolvê-lo às funções básicas mínimas.
Instalações leves secundárias
Configure uma segunda instalação do wordpress, apenas com os plugins e temas que você deseja (se houver). Em seguida, configure o wp-config.php para usar os mesmos valores de diretório e banco de dados de conteúdo wp.
Backpress
O WordPress, o BBpress original e o glotpress, entre outros, são criados em torno da biblioteca BackPress. Você pode usar isso em vez do WordPress para fazer seu trabalho, embora várias APIs e recursos estejam ausentes ou precisem ser reimplementados / portados
Tabelas de opções
Eu também tenho em mente que o WordPress carrega toda a tabela de opções na memória para reduzir as consultas, se você estiver salvando algum valor grande nele, isso afetará o desempenho.
Sair cedo
Você também pode tentar conectar-se a funções anteriores no processo de carregamento do WordPress e sair do processo PHP antes que o WordPress seja concluído, mas não posso aconselhar sobre o quão seguro isso seria.
Carregando seletivamente plug-ins
Há também este artigo sobre o carregamento seletivo de plug-ins , mas requer hacks nos arquivos principais do wordpress
fonte
Use BackPress , mas eu tenho pequenos desenvolvimentos, onde eu uso uma instalação padrão e uma fonte menor via const.
veja no
wp-settings.php
Defina o const SHORTINIT como true no
wp-config.php
e veja a execução rápida.define( 'SHORTINIT', TRUE );
Estes são os arquivos que você obtém:
fonte
Para fazer
is_user_logged_in()
ecurrent_user_can()
trabalhar, encontrei uma resposta semelhante aqui (não posso comentar) A comparsa corresponde às respostas aqui, como:O uso do
define('SHORTINIT', true)
+require('wp-load.php')
+ manualmente inclui:Carregamento de página: 1,05 sek - arquivos incluídos: 43 arquivos
Comparando: Usando SOMENTE
require('wp-load.php')
:Carregamento de página: 1,35 sek - arquivos incluídos: 419 arquivos
Foi uma boa ideia usar uma chamada relativa para o diretório instalado do WP. A partir de um plugin personalizado do Wordpress "ROOT", como:
Então dentro do meu plugin index.php:
Depois disso, a validação do usuário está funcionando para mim. Graças às palavras finais de @Anna Ericson do código original:
fonte
Você já tentou
define('SHORTINIT', true);
? Eu mesmo não testei, mas parece carregar muito poucos aspectos do núcleo do WP, mantendo uma funcionalidade suficiente, especialmente se tudo o que você deseja é lidar com o banco de dados.fonte