web-dev-qa-db-fra.com

Les plugins réécrivent les règles de la bonne façon

Je dois créer des règles de réécriture pour mon plugin. Ce plugin fonctionnera sur un très grand réseau WordPress (+2000 sites), donc les performances sont importantes.

La plupart des tutoriels et le codex recommandent flush_rewrite_rule lors de l'activation du plug-in, puis add_rewrite_rule() sur init. Mais comme les règles de réécriture sont stockées dans la base de données, il me semble que nous gaspillons des ressources en exécutant add_rewrite_rule sur chaque init (= chaque chargement de page).

D'autre part, vous ne pouvez pas compter uniquement sur le hook d'activation de plugin, car si un autre plugin effaçait les règles, vos règles de réécriture seraient perdues.

Je sais que add_rewrite_rule est juste une simple manipulation de chaîne et de tableau et n’est pas SUPER coûteux en termes de ressources, mais cela ne semble toujours pas correct ....

Est-ce que je manque quelque chose?

1
guillaume.molter

La fonction add_rewrite_rule ne modifie pas la base de données. Juste un tableau en mémoire. Ce n'est pas une opération coûteuse.

L'alternative consiste à ajouter du code pour détecter si votre règle est là, ce qui est en fait plus coûteux que la simple modification du tableau.

1
Otto