У меня есть пользовательская страница с именем «Журнал», которую я использую в качестве индексной страницы блога для моего сайта WordPress. Я столкнулся с довольно странной проблемой. Когда я вхожу <?php echo get_the_title(); ?>
или что-то в home.php, он возвращает заголовок поста, а не заголовок страницы «Журнал». Кто-нибудь знаком с этой проблемой?
Спасибо!
Это ожидаемое поведение для этой страницы. Когда вы устанавливаете страницу в качестве своего «блога», вы не можете получить доступ к тегам шаблона для этой страницы. Вместо этого теги шаблона предназначены для цикла сообщений, отображаемых на этой странице.
Чтобы получить заголовок, сначала нужно получить идентификатор этой страницы, а затем передать его функции:
<?php
$page_for_blog = get_option( 'page_for_posts' );
$page_title = get_the_title( $page_for_blog );
?>
Теперь вы можете распечатать $page_title
и вы должны увидеть «Журнал».
Обновлен расширенными пользовательскими полями
Теперь, когда у вас есть идентификатор страницы журнала ($page_for_blog
), вы можете получить значения полей с помощью:
$field_value = get_field( 'field_name', $page_for_blog );
Очевидно, замените ‘field_name’ тем полем, которое вы пытаетесь получить.
Попробуйте заголовок с идентификатором страницы. Как это get_the_title($page_id);