Filter get_the_title um bestimmte Zeichen zu entfernen?

Ich weiß, dass WordPress the_content wie the_content filtern kann, aber ist es möglich get_the_content zu filtern?

Ich habe eine function, die substr und strpos und ich weiß, dass es auf the_title . Ich habe das gleiche für get_the_title versucht, aber ich konnte es nicht zum get_the_title bringen.

Ist es möglich, dass sie an get_the_title ?

Code habe ich bisher:

 function gg_short_title($title) { // This can return false, so check there is something $linkt=array(); $linkt[] = substr($title, 0, strpos($title, ' —')); $linkt[] = substr($title, 0, strpos($title, ' –')); $linkt[] = substr($title, 0, strpos($title, ' |')); $linkt[] = substr($title, 0, strpos($title, ' -')); $short_title = implode('', $linkt); if ($short_title) { return $short_title; } // Else just return the normal title return $title; } add_filter('get_the_title', 'gg_short_title', 10, 1); 

Vielen Dank.

Solutions Collecting From Web of "Filter get_the_title um bestimmte Zeichen zu entfernen?"

Die function the_title() ist nur ein Wrapper um die function get_the_title() .

Es ist verständlicherweise verwirrend, dass der Filter the_title tatsächlich in get_the_title() . Was auch immer die function ist, die Sie verwenden, um es tatsächlich anzuzeigen, spielt keine Rolle. Sie können den Inhalt filtern, indem Sie sich in the_title

Zusätzlich zu Moraleidas Antwort gibt es hier eine kürzere Möglichkeit, Ihre Titel zu vergleichen und auszugeben.

Hinweis – Es teilt die Zeichenfolge bei der ersten gefundenen Übereinstimmung auf, wenn mehrere ‘|’ oder Bindestrich-Zeichen, das könnte ein Problem sein (sogar für Ihren ursprünglichen Code).

 function gg_short_title( $title ) { if ( 1 === preg_match( '(—|–|||-|\|)', $title, $matches ) ) { $short_title = explode( $matches[0], $title, 2 ); $title = trim( $short_title[0] ); } return $title; } add_filter( 'the_title', 'gg_short_title', 10, 1 );