Echo ผู้เขียน ID ใน author.php


11

นี่อาจเป็นคำถามง่าย ๆ

แต่ฉันจะสะท้อน ID ของผู้ใช้ใน author.php ได้อย่างไร

ฉันได้พยายาม

the_author_meta('ID')

แต่ดูเหมือนจะไม่ต้องการทำงาน ฉันต้องการที่จะสะท้อนในตอนท้ายของ URL เช่น;

http: ///www.domain.com/author/sampleauthor-id

เห็นได้ชัดว่าที่ "id" คือรหัสของผู้เขียนนั้น

ความคิดใด ๆ


ไม่ใช่ Permalinks แต่เป็นสำหรับปลั๊กอิน UserPhoto เวอร์ชันที่แก้ไข ฉันต้องการ hardcode ลิงก์ภาพเฉพาะลงใน author.php และเนื่องจากรูปภาพของผู้ใช้แต่ละคนถูกต่อท้ายด้วย ID ผู้เขียนของพวกเขาฉันต้องรวมไว้ในลิงค์
Dean Elliott

คำตอบ:


29

ลองรหัสนี้

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );
echo $author->ID;

อีกทางหนึ่งหากชื่อผู้แต่งยังไม่ได้ตั้งให้ใช้:

if ( $author_id = get_query_var( 'author' ) ) { $author = get_user_by( 'id', $author_id ); }

เครดิต @AndyAdams ในความคิดเห็นที่พลาดได้ง่าย


สิ่งนี้ทำให้ฉันมีข้อผิดพลาดภายในเซิร์ฟเวอร์ 500 ข้อ
Dean Elliott

คุณแน่ใจหรือว่าเป็นเพราะโค้ดด้านบน .. ฉันขอดูที่ author.php ของคุณได้ไหม?
Joshua Abenazer

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );ไม่มีปัญหามันเป็นสิ่งecho author->ID;ที่ทำให้เกิดข้อผิดพลาดด้วยเหตุผลบางอย่าง
Dean Elliott

โอ๊ะโอมีคำผิด .. echo $ author-> ID ... สังเกตว่า '$' อัปเดตคำตอบ
Joshua Abenazer

1
คุณทั้งคู่พลาดเครื่องหมายดอลลาร์ echo $author->ID;
Johannes Pille

4

ลองใช้โค้ดนี้ง่ายๆ

if (is_author()){
    $author = get_queried_object();
    $author_id = $author->ID;
}

วิธีที่ง่ายกว่าในการทำเช่นนี้คือ$author_id = get_queried_object_id();
Gavin

0

ถ้าvar_dump(the_author_meta('ID'))Null เป็นผู้เขียนของคุณไม่มีโพสต์

ลองใช้เสียงสะท้อน$authorถ้าคุณโทรหาข้างในauthor.php

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.