Meilleur contrôle à grain fin de redirect_guess_404_permalink ()

Deviner une URL pour rediriger 404 demandes est très bien pour la majorité des sites WordPress, mais les propriétaires de site (par rapport au réseau, au blog), les développeurs et le plugin Un plugin est un logiciel contenant un groupe de fonctions qui peuvent être ajoutées à un site Web WordPress . Ils peuvent étendre les fonctionnalités ou ajouter de nouvelles fonctionnalités à vos sites Web WordPress. Les plugins WordPress sont écrits dans le langage de programmation PHP et s’intègrent parfaitement avec WordPress. Ceux-ci peuvent être gratuits dans le répertoire de plugins WordPress.org https://wordpress.org/plugins/ ou peuvent être des plugins basés sur les coûts provenant d’auteurs tiers qui souhaitent peut-être un contrôle plus fin sur la logique de devinettes.

Il s’agit d’un problème de longue date, car le ticket d’origine a été créé pour les rapports de bogues et le développement de fonctionnalités sur le suivi des bogues. a été ouvert il y a 9 ans. Si longtemps, WordPress 5.5 ajoutera la possibilité de gérer correctement cette fonctionnalité.

Court-circuiter la logique de devinette par défaut

Le nouveau filtre pre_redirect_guess_404_permalink Les filtres sont l’un des deux types de crochets https://codex.wordpress.org/Plugin_API/Hooks. Ils permettent aux fonctions de modifier les données d’autres fonctions. Ils sont la contrepartie des actions. Contrairement aux actions, les filtres sont censés fonctionner de manière isolée et ne devraient jamais avoir d’effets secondaires tels que l’affectation des variables globales et de la sortie. peut maintenant être utilisé pour court-circuiter la fonction, en contournant la logique de devinette par défaut. Cela est utile pour exécuter une logique personnalisée qui correspond mieux aux besoins de chaque site pour créer une collection de blogs P2 sur make.wordpress.org, qui hébergent un certain nombre de groupes de contributeurs, y compris le développement principal (marque / noyau, anciennement « wpdevel »), le groupe de travail sur l’interface utilisateur (faire / ui), traducteurs (faire / polyglottes), les examinateurs thématiques (marque / thèmes), ressources pour les auteurs de plugins (make / plugins) et le groupe de travail sur l’accessibilité (faire / accessibilité). une estimation plus précise.

Le renvoi d’une valeur non fausse au filtre entraînera le retour précoce de la valeur filtrée par la fonction.

Exemple

// Logique de devinette URL de redirection personnalisée.

return $ new_redirect_url;

add_filter (‘pre_redirect_guess_404_permalink’, ‘mysite_pre_redirect_guess_404_permalink’);

Contrôle de la comparaison « stricte » vs « lâche »

Le strict_redirect_guess_404_permalink peut désormais être utilisé pour filtrer si une comparaison « stricte » ou « lâche » est utilisée pour faire une supposition d’URL de redirection.

Comparaisons « strictes » (true) ne fera une suggestion de redirection que lorsque des correspondances exactes de post_name seront trouvées.

Comparaisons « lâches » (false) est l’option par défaut et exécutera une requête LIKE sur post_name.

Exemple

L’exemple suivant permettra des comparaisons « strictes » dans redirect_guess_404_permalink ():

add_filter (‘strict_redirect_guess_404_permalink’, ‘__return_true’);

Désactiver la redirection 404

Le filtre do_redirect_guess_404_permalink peut désormais être utilisé pour désactiver complètement la devinette de redirection. Renvoyer false au filtre désactivera complètement la fonction.

Exemple

add_filter (‘do_redirect_guess_404_permalink’, ‘__return_false’);

Pour plus d’informations sur ces changements billet: # 16557.

# 5-5, # dev-notes, #permalinks