the_title() и get_the_title() чем отличается и как пользоваться

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

Функция the_title() что это такое и для чего нужна

Не знаете как вывести заголовок поста? Данный код выведет название заголовка вашего поста или страницы.

<?php the_title() ?>
  • Выводит заголовок текущего поста или страницы непосредственно в шаблон.
  • Обычно используется внутри цикла WordPress.
  • Может принимать дополнительные параметры для установки префикса или суффикса.

Стандартное использование функции the_title() в цикле WordPress

if (have_posts()) {

    while (have_posts()) {

        the_post();

        echo '<h2>' . the_title() . '</h2>';

    }

}

Еще пример как может выглядеть конструкция вывода заголовка в цикле

<?php 

while ( have_posts() ) :

the_post();

?>

<h2><?php the_title() ?></h2>

<?php endwhile; ?>

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

Пример реального использования the_title() в коде

Пример 1

the_title('<h2 class="title-prefix">', '</h2>');

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

Пример 2

the_title('<h2><i class="fa fa-book"></i> ', '</h2>');

Также можно использовать the_title() для добавления иконки или специального символа перед каждым заголовком.

Пример 3

echo '<div class="accordion">';

echo '<div class="accordion-title">' . the_title() . '</div>';

echo '<div class="accordion-content">Содержимое...</div>';

echo '</div>';

Заголовки постов используются как часть интерактивного аккордеона (свернутого/развернутого содержимого).

Функция get_the_title() что это такое и для чего нужна

Функция get_the_title() возвращает заголовка поста/страницы в виде строки, также может передавать ID, если id не передается выведет заголовок поста в котором мы находимся.

<?php get_the_title() ?>
  • Возвращает заголовок поста или страницы как строку.
  • Может использоваться как внутри, так и вне цикла WordPress.
  • Подходит для случаев, когда заголовок нужно присвоить переменной или передать в другую функцию.

Стандартное использование функции get_the_title() в цикле WordPress

$post_id = 42; // ID поста

$post_title = get_the_title($post_id);

echo 'Заголовок поста: ' . $post_title;

Здесь мы получаем заголовков поста по указанному id вне цикла wordpress.

Еще пример внутри цикла

$post_id = 42; // ID поста, заголовок которого нужно получить

$args = array(

    'p' => $post_id // Указываем ID поста в аргументах запроса

);

$custom_query = new WP_Query($args);

if ($custom_query->have_posts()) {

    while ($custom_query->have_posts()) {

        $custom_query->the_post();

        // Выводим заголовок поста

        echo '<h2>' . get_the_title() . '</h2>';

    }

}

wp_reset_postdata(); // Сбрасываем данные запроса

В примере мы выводим заголовок поста с id 42 внутри цикла wp

Пример реального использования get_the_title() в коде

Пример 1

$posts = get_posts(array('numberposts' => 5));

echo '<ul>';

foreach ($posts as $post) {

    setup_postdata($post);

    echo '<li><a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';

}

wp_reset_postdata();

echo '</ul>';

В примере мы используем данную функцию для создания меню навигации в виде списка на имеющиеся посты на сайте.

Пример 2

echo '<meta property="og:title" content="' . get_the_title() . '" />';

В этом примере мы создаем метатеги которые могут использоваться как микроразметка Open Graph для фейсбука.

Пример 3

$title = get_the_title();

$title_class = sanitize_title($title); // Преобразование заголовка в безопасный для класса формат

echo '<div class="' . $title_class . '">Содержимое поста</div>';

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

В чем разница между the_title() и get_the_title() ?

Когда использовать the_title() ?

Вывод Непосредственно в Шаблон: функция выводит заголовок текущего поста непосредственно в шаблон. При вызове the_title(), заголовок автоматически печатается на странице.

Использование в Цикле: Обычно the_title() используется внутри цикла WordPress.

Может принимать дополнительные параметры, такие как префикс и суффикс, которые будут включены в вывод.

Когда использовать get_the_title() ?

Возврат Значения: В отличие от the_title(), get_the_title() возвращает заголовок текущего поста как строку, не выводя его непосредственно.

Гибкость Использования: Эта функция может использоваться как внутри, так и вне цикла WordPress. Она особенно удобна, когда нужно присвоить заголовок переменной или передать его в другую функцию.

Не требует Эхо для Вывода: Поскольку get_the_title() возвращает строку, для ее вывода на странице необходимо использовать echo или другие методы вывода.

Финалочка

 общем, выбор между the_title() и get_the_title() зависит от того, нужно ли вам напрямую выводить заголовок в шаблон или использовать его в коде для других целей, некоторые из которых я описал в статье.

Для отправки комментария вам необходимо авторизоваться.

Популярные статьи: