당신이 어디에 있는지에 따라 다릅니다. 단일 페이지 인 경우 (예 : 하나의 {{삽입 유형 삽입}} 만 표시),를 사용 get_queried_object
하면 게시물 개체를 가져올 수 있습니다 .
<?php
if (is_singular()) {
$author_id = get_queried_object()->post_author;
$address = get_the_author_meta('user_email', $author_id);
}
다른 곳이라면 전역 $wp_query
객체를 사용 하고 $posts
속성을 확인할 수 있습니다. 이것은 단일 페이지에서도 작동합니다.
<?php
global $wp_query;
if (!empty($wp_query->posts)) {
$author_id = $wp_query->posts[0]->post_author;
$address = get_the_author_meta('user_email', $author_id);
}
루프를 "거짓 시작"한 다음 되감기하여 작성자 ID를 가져올 수도 있습니다. 이로 인해 추가 데이터베이스 적중 등이 발생하지 않습니다. 워드 프레스는 모든 글을 한 번에 가져옵니다 (쓰기시). rewind_posts
현재 게시물 (global $post
) 객체를 배열의 시작 부분으로 재설정합니다 . 단점은 이로 인해 loop_start
작업이 원하는 것보다 빨리 시작될 수 있다는 것입니다.
<?php
// make sure you're at the beginning.
rewind_posts();
// start the loop
the_post();
// get what you need
$address = get_the_author_meta('user_email');
// back to normal
rewind_posts();