আপনি কোথায় আছেন তার উপর নির্ভর করে। যদি আপনি একটি একক পৃষ্ঠায় থাকেন (উদাহরণস্বরূপ, এখানে কেবলমাত্র একটি {Post পোস্টের প্রকার Hereোকান}} এখানে দেখানো হয়), আপনি ব্যবহার করতে পারেন 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);
}
আপনি লুপটিকে "মিথ্যা সূচনা" করতে পারেন এবং এটির লেখক আইডি ধরার জন্য এটি রিওয়াইন্ড করতে পারেন। এটির জন্য কোনও অতিরিক্ত ডাটাবেস হিট বা এর মতো হবে না। ওয়ার্ডপ্রেস সমস্ত পোস্ট একবারে (লেখার সময়) এনেছে। অ্যারের শুরুতে rewind_posts
কেবল বর্তমান পোস্ট (গ্লোবাল $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();