Filtre get_the_title para remover certos caracteres?

Eu sei que o WordPress pode filtrar códigos curtos como the_content mas é possível filtrar get_the_content ?

Eu tenho uma function que é capaz de usar substr e strpos e eu sei que funciona the_title . Eu tentei o mesmo para get_the_title mas não consegui fazê-lo funcionar.

É possível que o mesmo funcione no get_the_title ?

Código que eu tenho até agora:

 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); 

Obrigado.

Solutions Collecting From Web of "Filtre get_the_title para remover certos caracteres?"

A function the_title() é apenas um wrapper em torno da function get_the_title() .

É compreensivelmente confuso que o filtro the_title realmente existe dentro de get_the_title() . Então, seja qual for a function que você está usando para realmente exibi-la, não importa, você pode filtrar seu conteúdo conectando-se a the_title

Além da resposta do moraleida, aqui está uma maneira mais curta de combinar e exibir seus títulos.

Nota – Ele irá dividir a string na primeira correspondência, então, se houver vários ‘|’ ou ‘deles’, isso pode ser um problema (mesmo para seu código original).

 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 );