Người Viết : ViKiMi Editor

Hướng dẫn sử dụng hiển thị các dữ liệu liên quan đến tác giả Bài Đăng của WordPress !
Cũng trong phần xử lý để có thông tin về tác giả bài đăng, chúng ta sẽ tìm cách hiển thị tất cả liên quan đến tác giả hiện tại. Chúng ta cũng biết rằng, mỗi tác giả sẽ có thể hiện thị các bài đăng của mình tại một trang riêng. Điều này giúp dễ dàng lọc thông tin hơn. Cách hiển thị với nhiều cách sẽ giúp bạn đọc dễ lọc thông tin các bài viết yêu thích từ các tác giả được chọn.
Chúng ta sẽ làm được điều này khi có tên một tác giả cụ thể hoặc ID cụ thể của tác giả. Với các thông tin Search có được thì hoàn toàn hiển thị đúng các Posts của tác giả. Nhưng khoan bàn về cách nó Search ra sao, chúng ta sẽ tìm hiểu cách hiển thị thông tin khi có một tác giả cụ thể. Cách thực hiện Search sẽ tương tự và chỉ cần các xử lý đơn giản khác.
Ở đây, lấy thông tin dành cho tác giả hiện tại và các Posts liên quan đến tác giả chúng ta sẽ xử lý với Functions truy vấn get_posts() . Cụ thể như sau :
Đoạn mã cần thiết để includes vào các File (VD : index.php):
/** Thực hiện truy vấn thông tin với get_posts() **/
$currentAuthor = wp_get_current_user();
$authorArgs = array (
'author' => $currentAuthor->ID,
'orderby' => 'post_date',
'posts_per_page' => 5
);
$authorPosts = get_posts($authorArgs);
/* Hiển thị các Posts liên quan đến tác giả trên Page */
<div class = "authorPosts'>
<?php if($authorPosts):?>
<?php foreach($authorPosts as $postAuthor):
setup_postdata($postAuthor);?>
<li><a href = "<?php the_permalink();?>"><?php the_title();?></a></li>
<?php endforeach;?> <!--End Foreach-->
<?php wp_reset_postdata();?> <!--Reset post data-->
<?php endif;?> <!--End If-->
</div> <!--End Class authorPosts -->
Đoạn mã trên đây, Thực hiện lấy thông tin về tác giả hiện tại sử dụng function wp_get_current_user();
và dựa vào thông tin tác giả hiện tại, sẽ thực hiện truy vấn thông tin lấy về các bài viết của tác giả bằng Function
get_posts();
Mảng đầu vào để truy vấn thông tin bằng function
get_posts()
là
$authorArgs = array (
'author' => $currentAuthor->ID,
'orderby' => 'post_date',
'posts_per_page' => 5
);
Với mảng đầu vào như trên, chúng ta sẽ chỉ lấy về 5 bài post của tác giả.
Khi hiển thị thông tin các bài Posts của tác giả hiện tại, quan trọng tại đây là sử dụng Function setup_postdata();
, Function này giúp chúng ta hiển thị biến toàn cục $post của WordPress.
Tất nhiên, do chúng ta
sử dụng
foreach
để hiển thị toàn bộ Posts của tác giả nên
chúng ta sử dụng Function
setup_postdata()
giúp dễ dàng hiển thị
thông tin Post hơn. Nếu chúng ta sử dụng cách khác để duyệt lần lượt qua các
Post của tác giả ( VD : sử dụng While ) thì chúng ta sẽ sử dụng Function khác để
hiển thị thông tin Post một cách hữu hiệu hơn nữa.
( + ) Ở trên chúng ta đã hiển thị thông tin các Posts liên quan đến tác giả hiện tại. Phần tiếp theo này, chúng ta sẽ tìm cách hiển thị Link liên kết đến danh sách các bài đăng của tác giả bài viết hiện tại.
Đây là một bổ sung giúp bạn dễ có thêm cách để hiển thị link liên kết tới các bài đăng của tác giả bài viết hiện tại. Nó sẽ hữu hiệu cho bạn.
Bước 1 : Sử dụng Function get_author_posts_url()
để nạp thông tin liên kết của tác giả.
Và quan trọng là chúng ta phải có ID của tác giả để sử dụng phương thức nạp thông tin này.
Và chúng ta buộc phải sử dụng Function get_the_author_meta()
để lấy các thông tin của tác giả của bài
viết hiện tại.
Chúng ta có đoạn mã cần là :
get_author_posts_url(get_the_author_meta('ID'));
Bước 2 : Hiển thị Liên Kết vào mã HTML của chúng ta.
<a href = "<?php echo get_author_posts_url (get_the_author_meta('ID')?>">
<?php the_author();?>
</a>
Với cách này, chúng ta sẽ dễ dàng hiển thị link liên kết tới các Posts của tác giả bài viết hiện tại. Khi người dùng Click vào link liên kết thì sẽ được chuyển hướng tới page / ( trang ) danh sách các bài viết của tác giả bài viết hiện tại.
*******************************************************
Functionthe_author()
hiển thị tên tác giả .
Function
get_the_author_meta
( string $field = '', int|false $user_id = false ): string
Nhận về thông tin yêu cầu của tác giả bài viết hiện tại.