Как показать заголовок записи вне цикла WordPress?

9 сент. 2016 г., 09:52:17
Просмотры: 19.7K
Голосов: 2

Я использую следующий код для отображения заголовка записи в другой записи. Но он показывает только ID записи. Как это исправить?

<?php $home_team_name = rwmb_meta( 'pb_select_home_team', 'type=select_advanced', get_the_ID() ); ?>
      <?php  echo esc_html( $home_team_name  ); ?>

Спасибо

1
Комментарии

Это явно связано с WordPress. Как трое модераторов закрыли это как не по теме?

Andrew Magill Andrew Magill
1 мая 2019 г. 09:04:38
Все ответы на вопрос 2
2

Поскольку вы находитесь вне цикла, вам нужно либо знать ID записи, заголовок которой вы хотите получить, и указать его в параметре функции, либо использовать глобальную переменную $post, если вы находитесь на странице (но еще не в цикле).

global $post;

echo get_the_title($post->ID);

или

echo get_the_title(2);
9 сент. 2016 г. 10:29:46
Комментарии

Когда я использую echo get_the_title('3592'); то он показывает заголовок. Но моя проблема еще не решена. Позвольте мне объяснить мою проблему еще раз. У меня есть произвольный тип записи с именем 'football_team'. Я отобразил все записи, связанные с этим CPT, как метабокс, используя тип 'select_advanced' в другом CPT football_fixture. Теперь я хочу отобразить контент, который я выбираю из метабокса. Спасибо.

bdtheme bdtheme
9 сент. 2016 г. 11:30:16

Если возвращается ID записи, то это должно быть так же просто, как echo get_the_title($home_team_name)

Jeremy Ross Jeremy Ross
9 сент. 2016 г. 22:42:28
5

Обычно мы используем the_title() или echo get_the_title() для вывода заголовка

Попробуйте

echo get_the_title();

или

echo get_the_title( get_the_ID() );
9 сент. 2016 г. 10:03:19
Комментарии

get_the_ID() по-прежнему работает только внутри цикла. https://developer.wordpress.org/reference/functions/get_the_id/

Jeremy Ross Jeremy Ross
9 сент. 2016 г. 10:29:59

@JeremyRoss вы абсолютно правы, но когда мы обращаемся к записи/странице - это уже сам по себе цикл. Поэтому когда мы вызываем get_the_ID() внутри page.php или single.php, get_the_ID() возвращает ID текущей записи/страницы

user3114253 user3114253
9 сент. 2016 г. 11:03:40

поскольку @Arif Hossin может использовать get_the_ID(), он также может использовать get_the_title( get_the_ID() );. Нет необходимости определять global $post

user3114253 user3114253
9 сент. 2016 г. 11:09:25

Заголовок вопроса был о том, как получить доступ извне цикла, но сейчас я вижу, что в описании этот код фактически выполняется внутри цикла.

Jeremy Ross Jeremy Ross
9 сент. 2016 г. 22:41:30

Так и есть.

user3114253 user3114253
11 сент. 2016 г. 00:11:02