Vor ein paar Wochen hatten wir in einem Projekt die Anfrage, die beiden Präfixe „Privat: “ und „Geschützt: “ vor dem Titel eines Custom Post Types zu entfernen. Wenn ihr nicht wisst, wovon ich gerade rede, lasst es mich kurz erklären.
Die Sichtbarkeit von Beiträgen
Wenn man einen Blogbeitrag schreibt hat man in der Metabox „Veröffentlichen“ die Option „Sichtbarkeit“. Normalerweise steht diese immer auf „Öffentlich“. Es gibt aber zwei weitere Optionen: „Passwortgescshützt“ und „Privat“. Wenn man die erste Option auswählt, werden Beiträge nur angemeldeten Besuchern angezeigt, egal welche Rolle diese haben. Bei der zweiten Option kann man ein einzelnes Passwort festlegen, das die Beiträge schützt (dieses Passwort wird im Klartext im Beitrag gespeichert).
Änderungen am Beitragstitel
Wenn man einen der beiden Sichtbarkeiten wählt, fügt WordPress einen Präfix „Geschützt: “ oder „Privat: “ vor den Beitragstitel ein, sofern die Funktion the_title()
zur Ausgabe verwendet wird. Wie kann man also den Präfix entfernen, wenn man ihn nicht möchte?
Den Präfix über Filter entfernen
Um den Filter zu entfernen können wir einfach die beiden Filter private_title_format
und protected_title_format
verwenden, um den Beitragstitel solcher Beiträge zu ändern. Hierzu brauchen wir nur diese wenigen Zeilen Code:
function remove_pp_prefix_title_format( $content ) { return '%s'; } add_filter( 'private_title_format', 'remove_pp_prefix_title_format' ); add_filter( 'protected_title_format', 'remove_pp_prefix_title_format' );
Fazit
Mit wenigen Zeilen Code können wir also einfach den Titel von geschützten und privaten Beiträgen ändern. Als die gleiche Frage etwas später in Facebook aufkam, habe daraus ein kleines Plugin gemacht und als Gist veröffentlicht. Kurz danach habe ich aber rausgefunden, dass jemand sogar Plugin im offiziellen Plugin Directory veröffentlicht wurde. Ich hoffe also, dass euch dies auch weiterhelfen kann.
Hallo Kau-Boy,
vielen Dank, Dein Script greift auch bei Child-Themes. ?
LG
Manni
hi Bernhard, das hat wieder super funktioniert! Vielen Dank für deine Mühe. Hast du zufällig noch eine Idee, wie ich den Text „Passwort“ ändern kann? Ich wäre dir sehr dankbar! LG Jasmina
Hallo Jasmina,
wo genau willst du denn den Text „Passwort“ ändern? Im Zweifel steht die entsprechende Stelle im Theme. Wenn es um die Standardübersetzung von WordPress geht, dann lässt sich diese nicht so einfach ändern.