Ограничение количества слов в заголовке записи
Есть ли способ ограничить количество слов в заголовке записи?
Я искал в интернете, но ничего не нашел.
Я знаю только, что можно ограничить или сделать отрывок только для содержимого записи.

Для этого есть встроенная функция: wp_trim_words()
.
add_filter( 'the_title', 'wpse_75691_trim_words' );
function wpse_75691_trim_words( $title )
{
// ограничиваем до 10 слов
return wp_trim_words( $title, 10, '' );
}
Если вы хотите обрезать текст в зависимости от определенных свойств записи, попросите WordPress передать ID записи в вашу функцию. Вот пример фильтрации по типу записи. Но вы также можете проверять связанные термины, возраст записи, автора или даже мета-данные.
add_filter( 'the_title', 'wpse_75691_trim_words_by_post_type', 10, 2 );
function wpse_75691_trim_words_by_post_type( $title, $post_id )
{
$post_type = get_post_type( $post_id );
if ( 'product' !== $post_type )
return $title;
// ограничиваем до 10 слов
return wp_trim_words( $title, 10, '' );
}

Нашел решение...
`add_filter( 'the_title', 'wpse_75691_trim_words' );
function wpse_75691_trim_words( $title ) { $cur_pt = get_post_type(); if( 'some_post_type' == $cur_pt ) { // ограничить до десяти слов return wp_trim_words( $title, 10, '' ); } else { return $title; } }`

function limit_word_count($title) {
$len = 5; // измените это значение на нужное количество слов
if (str_word_count($title) > $len) {
$keys = array_keys(str_word_count($title, 2));
$title = substr($title, 0, $keys[$len]);
}
return $title;
}
add_filter('the_title', 'limit_word_count');
Вы можете установить любое ограничение практически на что угодно, вам просто нужен правильный фильтр
