Как я могу ограничить длину заголовка WordPress в моей теме WordPress? - PullRequest
0 голосов
/ 11 апреля 2019

Итак, у меня есть эта тема WordPress, которую я купил, и я хочу адаптировать ее так, чтобы она выглядела как blog.asana.com.Для обучения в первую очередь и потому, что мне нравится, как это выглядит, поэтому я пытаюсь приблизиться к функциям.

Я борюсь с различными проблемами здесь, но сначала я использую детскую тему.И я пытаюсь изменить заголовок моего блога на главной странице, чтобы они были максимум на 2 строчки.Это выглядит лучше, и так как моя тема использует какой-то вид каменной кладки, я предпочитаю это такТак как я не слишком привык к этому извините, если мои вопросы звучат глупо.Кроме того, так как это не моя тема, я не уверен, как с этим справиться.Кажется, я не могу добавить что-то в файл functions.php, не загружая его вечно и не показывая и не выдавая ошибку

Я пытался использовать это в дочерней теме function.php, но это не сработало.Я также пробовал в родительской теме function.php

function max_title_length( $title ) {
$max = 20;
if( strlen( $title ) > $max ) {
return substr( $title, 0, $max ). " …";
} else {
return $title;
}
}

Блог, о котором я говорю, это blog.asana.com, а моя тема - блог (точка), ночной образ жизни (точка) ch

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Привет, думаю, вы хотите показать только две строки только на главной странице.

Используйте этот способ:

add_filter( 'the_title', 'max_title_length' );
function max_title_length( $title ) {
    $max = 20;
    if( is_home() && strlen( $title ) > $max ) {
        $title = substr( $title, 0, $max ) . " …";
    }
    return $title;
}

Это будет работать только на странице сообщений.

0 голосов
/ 11 апреля 2019

Вам необходимо отфильтровать the_title (); если это не работает, сделайте то же самое для wp_title (); это зависит от того, что тема использует, чтобы внести в заголовок страницы.

Испытано и проверено как работающее:

add_filter( 'the_title', 'max_title_length' );
function max_title_length( $title ) {
    $max = 20;
    if( strlen( $title ) > $max ) {
        $title = substr( $title, 0, $max ) . " …";
        return $title;
    } else {
        return $title;
    }
}

Однако все названия будут редактироваться с помощью the_title ();

Затем вы можете отфильтровать целевые страницы и использовать их для целевого использования, используя множество функций WordPress, просто объедините их с вашим JavaScript-оператором if с «&&»:

  • is_home ()
  • is_frontpage ()
  • is_single ()

Больше можно найти здесь .

* * Пример тысяча двадцать-один: * * 1 022
If( strlen($title) > $max && is_home() ) {
...