web-dev-qa-db-fra.com

Code dans le thème functions.php plus rapide qu'avec un plugin?

J'ai lu de nombreux articles disant que nous ne devrions pas garder de plugins que nous n'utilisons pas. Même s'ils sont désactivés, ils utilisent la mémoire.

functions.php au lieu de 10 plugins?

Et si j'ai 10 petits plugins que chacun d'eux a une petite fonction. Pourrais-je gagner de la vitesse en déplaçant les fonctions vers les thèmes themes.php? Si oui/non, pourquoi?

2
Jens Törnell

Je suis d'accord avec Rarst sur le fait que, dans la liste d'optimisation, il s'agit d'une priorité faible.

..comment, autant que je sache, cette déclaration:

C'est un mythe et un faux

Ce n'est pas toujours vrai. Les plugins désactivés n'utilisent pas la mémoire de manière non directe. et parfois - en fonction de la qualité et de la quantité de plugins - beaucoup également.

La raison réside dans deux faits fondamentaux.

1 - Les plugins écrivent des données dans la table wp-options.

Il existe essentiellement deux types de données liées:

données de base (écrit par wp lui-même, par exemple option_name = 'active_plugins';)

et "utilisateur" data (faute de meilleur nom) - il s’agit de données que le plugin écrit lui-même, ce qui m’amène à la deuxième raison:

2 - De nombreux auteurs de plugins n'optimisent pas leurs plugins, surtout lorsqu'il s'agit du processus de désinstallation. Cela provoque la table wp_options à remplir avec des informations inutiles. et parfois beaucoup. beaucoup d'utilisateurs pensent que s'ils "désactivent" un plugin, tout est revenu à la normale.

..Mais ce n'est pas .

À moins que l'auteur du plug-in ait inclus un processus de désinstallation pour nettoyer toutes les données parasites.

..Mais ils le font rarement (moi-même, je tiens toujours à inclure cette option).

Si vous voulez vérifier cela de vos propres yeux, allez à.

http: //votresite/wp-admin/options.php

vous verrez les données des plugins désactivés.

Maintenant, comme nous le savons tous, une plus grande base de données est beaucoup plus lourde en mémoire, et une plus grande table wp_options DONNERA plus de mémoire lors du traitement à chaque fois que vous exécuterez une requête . Cela empire avec d'autres plugins "plus lourds" qui écrivent de nouvelles tables sans les nettoyer.

Tout cela se situe sur le plan théorique et dépend, comme indiqué précédemment, de la qualité ET de la quantité des plugins.

BTW - une autre chose que les gens ne sont généralement pas au courant - est que THEMES fait de même. Vous pouvez aller à la page des options indiquée ci-dessus, et vous verrez également des thèmes désactivés dans le même tableau. toujours là . (recherche pour theme_mods_themename)

BTW2 - de même pour l'abus de "champs personnalisés" ...

Pour répondre à votre question - functions.php est préférable, si vous savez ce que vous faites. Sinon, il s'agit d'une différence marginale pour le site moyen. Je fais moi-même tout sur le functions.php.

5
krembo99

La maintenabilité du code devrait au moins être aussi importante que l'optimisation. Si la fonctionnalité est supposée aller dans un plugin, elle ne doit pas être déplacée dans le dossier du thème.

De plus, je suppose que l'optimisation que vous obtenez en déplaçant simplement les fichiers du plugin dans le dossier du thème est futile. De cette façon, aucun des plugins ne sera modifié.

Si vous avez vraiment besoin d'optimiser le code, d'autres moyens doivent exister.

4
Geert

Cela dépend de ce que vous voulez dire par "plus vite qu'avec un plugin".

WordPress charge les plugins à un stade antérieur à la page function.php du thème. La commande est:

URL du WP -> wp-config -> fonctions principales -> plugins -> plug-ins -> traductions -> thème -> contenu de la page.

La chose la plus importante à propos des plugins est la qualité du code. Si vos plugins sont correctement codés, vous ne devez pas vous inquiéter de leur nombre.

Le lien suivant est une bonne source d’information, spécialement les commentaires :-)

http://wpcandy.com/teaches/how-to-create-a-functionality-plugin

2
Daniel

Même s'ils sont désactivés, ils utilisent la mémoire.

C'est un mythe et un faux. Les plugins désactivés ne sont pas chargés dans PHP et n'utilisent rien d'autre que de l'espace disque :)

Pourrais-je gagner de la vitesse en déplaçant les fonctions vers les thèmes themes.php? Si oui/non, pourquoi?

Ce serait plus rapide à un niveau où WP n'aura pas besoin de rechercher et d'inclure des fichiers de plug-in. Cependant, sur le plan pratique, cela ne sera probablement pas une amélioration significative et perceptible.

Fondamentalement, pour l'optimisation, il s'agirait d'une priorité très faible.

1
Rarst

Je ne peux pas vous dire si ce sera plus rapide ou non, mais si vous envisagez d'ajouter des éléments à functions.php que vous voudrez peut-être désactiver à l'avenir, les plugins pourraient être une meilleure idée. Il est beaucoup plus rapide de désactiver un plugin plutôt que de supprimer le code de functions.php et de lancer une nouvelle mise à jour.

0
brant