Echo ID tác giả trong Author.php


11

Đây có lẽ là một câu hỏi siêu đơn giản.

Nhưng làm thế nào để tôi lặp lại ID của người dùng trên Author.php?

Tôi đã thử

the_author_meta('ID')

Nhưng nó dường như không muốn làm việc. Tôi muốn lặp lại nó ở cuối một URL, ví dụ;

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

Rõ ràng, trong đó "id" là ID của tác giả cụ thể đó

Có ý kiến ​​gì không?


Không phải permalinks, đây là phiên bản sửa đổi của plugin UserPhoto. Tôi muốn mã hóa một liên kết hình ảnh cụ thể vào Author.php và vì mỗi hình ảnh của người dùng được gắn với ID tác giả của họ, tôi cần đưa liên kết đó vào liên kết
Dean Elliott

Câu trả lời:


29

Hãy thử mã này.

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

Ngoài ra, nếu tên tác giả chưa được đặt, hãy sử dụng:

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

tín dụng @AndyAdams trong phần bình luận dễ bị bỏ qua


Điều này mang lại cho tôi một lỗi máy chủ nội bộ 500
Dean Elliott

Bạn có chắc chắn đó là do đoạn mã trên .. tôi có thể xem tác giả của bạn không?
Joshua Abenazer

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );không có vấn đề gì, đó là nguyên echo author->ID;nhân gây ra lỗi vì một số lý do
Dean Elliott

Rất tiếc, có một lỗi đánh máy .. tiếng vang của nó $ tác giả-> ID ... chú ý '$'. Cập nhật câu trả lời.
Joshua Abenazer

1
Cả hai bạn đã bỏ lỡ một ký hiệu đô la. echo $author->ID;
Julian Pille

4

Hãy thử mã này đơn giản

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

Một cách đơn giản hơn để làm điều này sẽ là$author_id = get_queried_object_id();
Gavin

0

nếu var_dump(the_author_meta('ID'))là Null tác giả của bạn không có bài viết.

Hãy thử sử dụng echo $authornếu bạn gọi nó bên trongauthor.php

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.