web-dev-qa-db-fra.com

add_filter the_content str_replace après le shortcode

Je souhaite ajouter un PHP str_replace à la fonction add_filter('the_content'). Je crois que mon problème est que les codes courts se chargent après l'appel du str_replace.

J'ai un shortcode qui sort un formulaire, je veux le faire que dans toutes les balises de formulaire HTML, l'attribut autocomplete='off'.

Heres le code que j'ai.

add_filter('the_content', 'disable_autocomplete');
function disable_autocomplete( $content )
{
    return str_replace('<form', '<form autocomplete="off"', $content);
}

Des idées?

5
cnotethegr8

Vous pouvez modifier la priorité des actions et des filtres. Il s’agit du troisième argument de add_filter (et add_action). La valeur par défaut est 10. Par conséquent, changez-le pour un nombre élevé et laissez votre filtre filtrer une fois que les codes abrégés et autres ont été insérés.

<?php 
add_filter('the_content', 'disable_autocomplete', 99);
function disable_autocomplete( $content )
{
    return str_replace('<form', '<form autocomplete="off"', $content);
}
6
chrisguitarguy