J'ai créé mon propre service de téléchargement pour mon site Web qui est distinct de WP, mais utilise WP pour fournir des fonctions de base de données de bas niveau et la vérification des utilisateurs. Pour ce faire, j'inclus wp-load.php dans mon script principal (Uploadify) mais cela semble remplir la mémoire du serveur avec des composants inutiles. Grâce à cela, je vois une erreur dans mon script qui semble pointer vers un plugin WP installé.
Comment puis-je charger uniquement les principaux composants WP et ignorer les plugins? Est-ce seulement possible?
Réponses:
La désactivation complète des plugins signifie que vous perdez de nombreux avantages.
Il existe des distributions de wordpress qui vont plus loin et extraient les publications et les liens, etc., mais elles seront toujours à la traîne du noyau WordPress et ont tendance à ne pas survivre aussi longtemps.
Voici quelques choses qui pourraient être faites
Init court
Mettre ceci dans votre wp-config.php:
Ou le définir quelque part avant de charger dans wordpress, devrait réduire le processus de chargement et le ramener à des fonctions de base minimales.
Installations légères secondaires
Configurez une deuxième installation wordpress, avec uniquement les plugins et les thèmes que vous souhaitez (le cas échéant). Configurez ensuite wp-config.php pour utiliser les mêmes valeurs de répertoire et de base de données wp-content.
Backpress
WordPress, le BBpress original et le glotpress entre autres sont construits autour de la bibliothèque BackPress. Vous pouvez l'utiliser au lieu de WordPress pour faire votre travail, bien que de nombreuses API et fonctionnalités puissent être manquantes ou avoir besoin d'être réimplémentées / portées
Tableaux d'options
Je voudrais également garder à l'esprit que WordPress charge la totalité du tableau des options en mémoire pour réduire les requêtes, si vous enregistrez des valeurs importantes, cela aura un impact sur les performances.
Sortir tôt
Vous pouvez également essayer de vous connecter à des fonctions antérieures du processus de chargement de WordPress et de quitter le processus PHP avant la fin de WordPress, mais je ne peux pas vous conseiller sur la sécurité.
Chargement sélectif des plugins
Il y a aussi cet article sur le chargement sélectif des plugins , mais il nécessite des hacks sur les fichiers core wordpress
la source
Utilisez BackPress , mais j'ai de petits développements, où j'utilise une installation par défaut et une source plus petite via const.
voir sur le
wp-settings.php
Réglez la constante SHORTINIT sur true dans le
wp-config.php
et voyez la course rapide.define( 'SHORTINIT', TRUE );
Ce sont les fichiers que vous obtenez:
la source
Pour la fabrication
is_user_logged_in()
et lecurrent_user_can()
travail, j'ai trouvé une réponse similaire ici ( Je ne peux pas commenter) La comparaison correspond aux réponses ici, comme:L'utilisation manuelle de
define('SHORTINIT', true)
+require('wp-load.php')
+ comprend:Pageload: 1.05 sek - fichiers inclus: 43 fichiers
Comparer: en utilisant UNIQUEMENT
require('wp-load.php')
:Pageload: 1.35 sek - fichiers inclus: 419 fichiers
C'était une bonne idée d'utiliser un appel relatif au répertoire installé WP. À partir d'un plugin personnalisé Wordpress "ROOT" comme:
Puis à l'intérieur de mon plugin index.php:
Après cela, la validation des utilisateurs fonctionne pour moi. Merci aux derniers mots @Anna Ericson du code original:
la source
As-tu essayé
define('SHORTINIT', true);
? Je ne l'ai pas testé moi-même, mais il semble charger très peu d'aspects de WP core tout en conservant suffisamment de fonctionnalités, surtout si tout ce que vous voulez c'est traiter avec la base de données.la source