web-dev-qa-db-fra.com

Autoriser le HTML non filtré dans les titres pour les utilisateurs de bas niveau?

Comment la capacité unfiltered_html peut-elle être donnée aux administrateurs non-réseau lors d'une installation multisite pour autoriser le HTML dans les titres?

Dans wp-includes/capacités.php (ci-dessous), il apparaît que cette capacité ne peut pas être donnée à des non-super_admins.

case 'unfiltered_html':
        // Disallow unfiltered_html for all users, even admins and super admins.
        if ( defined('DISALLOW_UNFILTERED_HTML') && DISALLOW_UNFILTERED_HTML ) {
            $caps[] = 'do_not_allow';
            break;
        }
        // Fall through if not DISALLOW_UNFILTERED_HTML
    case 'delete_user':
    case 'delete_users':
        // If multisite these caps are allowed only for super admins.
        if ( is_multisite() && !is_super_admin() )
            $caps[] = 'do_not_allow';
        else
            $caps[] = $cap;
        break;

Est-ce possible sans supprimer tous les filtres html ou commettre l'acte sale ?

Cas d'utilisation:

Les rédacteurs et les rédacteurs exigent la possibilité d’utiliser des balises <br/> dans les titres pour les scinder en 2 ou 3 lignes si nécessaire.

Solution actuelle:

Metabox de titre alternatif qui remplace the_title sur le front-end une fois rempli. (Cela déroute les rédacteurs)

Solution plus facile:

Donnez-leur un accès super administrateur (l'éditeur ne le permettra pas)

2
Chris_O

Configurez-le de sorte que vos rédacteurs et rédacteurs utilisent le titre par défaut comme première ligne et ajoutent un métabox pour un sous-titre qui affichera les autres lignes sous forme de lignes séparées. Cela nécessitera un ajustement du thème si vous souhaitez les inclure tous dans la balise d’en-tête h1. Avec quelques ajustements au thème admin, vous pouvez placer cette metabox sous le champ de saisie du titre, ce qui devrait contribuer à réduire les risques de confusion.

La manière dont WordPress empêche HTML de titrer des titres ne peut pas être remplacée. Ce n'est possible que si vous piratez le noyau mais, même dans ce cas, cela crée beaucoup de problèmes étranges. Les flux ne peuvent pas gérer le HTML dans les titres et les permaliens se comportent mal, sauf si vous réécrivez les fonctions permalink. Laisser le titre par défaut seul et utiliser des champs personnalisés est la voie à suivre.

1
Elpie

Pour moi, je proposerais un simple marqueur pour indiquer un saut de ligne (par exemple, un double point-virgule), puis les échangerais pour les sauts de ligne réels lorsque affichage (avec filtre the_title).

De cette façon, vous pouvez également le garder "sensible au contexte", de sorte que les sauts de ligne ne soient pas imprimés aux endroits où ils ne sont pas appropriés ou disgracieux (comme l'administrateur).

Terminé avec un petit avis unique, ou une icône d'assistance à côté de l'entrée du titre, pour informer les nouveaux auteurs et éditeurs de la fonctionnalité.

Je sais que ce n’est pas la réponse que vous cherchez, mais j’espère que cela vous influencera tout de même;)

0
TheDeadMedic