Можно ли использовать несколько пробелов в заголовке?

Я хотел бы использовать три пробела в качестве разделителя в моих заголовках. Я удаляю все фильтры с помощью:

remove_all_filters('the_title'); 

и добавьте мой собственный фильтр:

 add_filter('the_title', 'my_title_filter'); 

например, мой фильтр заменяет 3 пробела на 3 точки, например:

 $title = preg_replace('#(\s\s\s)#', '...', $title); 

но ничего не работает.

Как я могу избежать замены нескольких пространств?

Solutions Collecting From Web of "Можно ли использовать несколько пробелов в заголовке?"

Как вы можете видеть в Codex , на самом деле фильтр имеет 2 аргумента, которые необходимо указать:

 add_filter( 'the_title', function ( $title, $id = null ) { return preg_replace('#(\s{3})#', '…', $title); }, 10, 2 ); 

Вы могли бы просто использовать заполнитель, который вы заменяете на лету – может быть проще.

В случае, если выше не работает, вы можете попробовать попробовать, прежде чем вы его назовете:

 $filters = $GLOBALS['wp_filter']['the_title']; foreach ( $filters as $priority => $filter ) { remove_all_filters('the_title', $priority); } add_filter( 'the_title', function ( $title, $id = null ) { return preg_replace('#(\s{3})#', '…', $title); }, 10, 2 ); the_title(); 

Если выше работает, то у вас есть проблема с удалением фильтров должным образом. Вы можете захотеть просто var_dump($GLOBALS['wp_filter']['the_title'];) над вызовом для the_title() а затем взглянуть на то, что осталось и заботиться об этом.