HTML im Menü Elemente verschwinden beim Speichern

Ich habe ein Menü erstellt, das anstelle von reinem Text Symbole benötigt. Leider fügt die Option “CSS Classes”, die von WP zur Verfügung gestellt wird, die class zu li statt zu a so dass das Symbol nicht angeklickt werden kann, wenn es dort hinzugefügt wird. Wenn ich einen Menüeintrag ohne Titel hinzufüge (weil meine Menüs nichts anderes als Symbole sein sollen), verschwindet der Menüeintrag vollständig, wenn das Menü gespeichert wird.

Um das zu lösen, habe ich einfach das “Navigation Label” auf . Das funktioniert gut und ich habe es schon lange so gemacht.

Was ich heute jedoch bemerkt habe, ist, dass, wenn der Benutzer, der das Menü verwaltet, kein Administrator ist, er keinen Menüeintrag mit HTML in seinem Etikett speichern kann. Dies führt dazu, dass das HTML entfernt wird, das “Navigation Label” leer ist und somit WP diesen Menüeintrag beim Speichern des Menüs vollständig entfernt.

Nicht-Admins haben normalerweise keinen Zugriff auf den Menü-Admin-Bildschirm, aber ich habe den Redakteuren diese Möglichkeit gegeben mit:

 $editorRole = get_role('editor'); if (!$editorRole->has_cap('edit_theme_options')) { $editorRole->add_cap('edit_theme_options'); } 

Warum entfernt WP den HTML-Code und wie kann ich dies verhindern?

Bildbeschreibung hier eingeben

Solutions Collecting From Web of "HTML im Menü Elemente verschwinden beim Speichern"

Wenn Sie das Symbol als Inhalt in einem Pseudoelement hinzufügen möchten, würde ich das a auswählen, indem Sie die class angeben, die Sie in den WP-Menü-Editor (so in der li ) eingefügt haben:

  /*hide the menu text*/ li.your-class a { visibility: hidden; } /*create the icon and make it visible*/ li.your-class a::before { content: "icon code"; visibility: visible; }