В 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() зависит от того, нужно ли вам напрямую выводить заголовок в шаблон или использовать его в коде для других целей, некоторые из которых я описал в статье.
Для отправки комментария вам необходимо авторизоваться.