Не удается вернуть параметры__состояния () и the_author () – как возвращать пустые строки

Я создаю следующий код для отображения открытых метаданных в заголовке моей страницы single.php

add_action('wp_head', 'mycode_add_og_meta_tags', 5); function mycode_add_og_meta_tags () { ?> <meta property="og:type" content="article"/> <meta property="og:title" content="<?php the_title(); echo ' ('; _e('Source:', 'mydomain'); the_author(); echo')'; ?>"/> <meta property="og:description" content="<?php echo strip_tags(get_the_content(), '<p>'); ?>"/> <?php if(has_post_thumbnail()) : ?> <meta property="og:image" content="<?php the_post_thumbnail_url('single') ?>"/> <?php endif; ?> <?php } 

Однако, как the_author() и get_the_content() не возвращают никаких данных; но the_title() и the_post_thumbnail_url() возвращают данные.

Более того, в «теле» файла single.php я могу получить всю вышеупомянутую информацию.

Я подозреваю, что это должно быть внутри цикла, поэтому мои вопросы:

  1. Если это не имеет никакого отношения к циклу, как я могу получить отсутствующие вышеупомянутые значения?

  2. Если мой подход неверен, потому что я извлекаю эту информацию за пределы цикла, тогда:

    • Как получилось название и миниатюра?

    • Как установить метаданные открытого графика (og), прежде чем попасть в цикл?

Благодарю.

Solutions Collecting From Web of "Не удается вернуть параметры__состояния () и the_author () – как возвращать пустые строки"

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

 global $wp_query; $post = $wp_query->post; $page_id = $post->ID; // page ID $page_object = get_page( $page_id ); // page stuff $author_id = $post->post_author; // author ID $page_content = $page_object->post_content; $author_name = get_the_author_meta( 'display_name', $author_id);