Người Viết : ViKiMi Editor

Hướng dẫn sử dụng Function the_content() của WordPress lấy nội dung một cách hiệu quả !
Với bất kỳ một Website nào được phát triển bởi WordPress, luôn luôn cần phải hiển thị nội dung bài đăng hoặc ít nhất sẽ hiển thị nội dung bài đăng được tuỳ chỉnh. Theo các yêu cầu khác nhau của nhà phát triển mà sẽ có cách xử lý khác nhau cho từng trường hợp.
Với Function the_content() và bộ lọc Filter the_content mà các nhà phát triển sẽ có cách xử lý phù hợp nhất. Và để hiểu rõ cho vấn đề này thì chúng ta có thể thấy cách sử dụng được chia thành 2 cách khác nhau như sau :
1 + Hiển thị toàn bộ nội dung bài đăng tại vị trí hiển thị Bài Đăng như single page / single post hoặc content page / content post …
2 + Hiển thị nội dung đoạn trích trong hộp Meta đoạn trích, và thường thấy sẽ sử dụng tại none-single page, e.g. hoặc archive pages, search page, index page, … Mặc dù cũng có Function the_excerpt() để xử lý việc này.
Function the_content() thường được xử lý trong các vòng lặp, và có cú pháp được định nghĩa như sau :
function the_content( $more_link_text = null, $strip_teaser = false ) {
$content = get_the_content( $more_link_text, $strip_teaser );
/**
* Filters the post content.
*
* @since 0.71
*
* @param string $content Content of the current post.
*/
$content = apply_filters( ‘the_content’, $content );
$content = str_replace( ‘]]>’, ‘]]>’, $content );
echo $content;
}
1 – Với cách xử trên chúng thấy rằng Function the_content() sẽ gọi Function get_the_content() để xử lý lấy nội dung bài đăng và cuối cùng nội dung bài đăng sẽ được hiển thị bằng cách Echo.
Cách xử lý thông thường nhất để hiển thị toàn bộ nội dung bài đăng thì chỉ cần gọi Function the_content() và không quan tâm phần đối số của Function
the_content();
Như vậy thì toàn bộ nội dung bài đăng sẽ được hiển thị.
2 – Chúng ta sẽ sử dụng Function the_content() với các tham số truyền vào, để lấy đoạn trích dẫn sẽ hiên thị trong hộp Meta trích dẫn.
Chúng có thể thấy cách truyền tham số như sau :
the_content( $more_link_text, $strip_teaser );
Khi thực hiện gọi Function the_content có tham số tại Index.php như sau :
the_content(‘Hãy Đọc Tiếp …’);
Và phần nội dung bài đăng chúng ta có sử dụng <!–more– > ( Có thể kéo thả tại giao diện thiết kế Post ) có như hình dưới :

Thì chúng ta có kết quả hiển thị cho việc gọi the_content(‘Hãy Đọc Tiếp …’) tại Index.php là :

Kết quả hiện thị cho thấy cách sử dụng the_content function để tạo nội dung trích dẫn. Đây cũng là cách được dùng khi cần thiết cho thiết kế.
3 – Thực Hiện tuỳ chỉnh với bộ lọc Filter the_content
Chúng ta đã tìm hiểu cách hiển thị cơ bản mà WordPress cung cấp, nhưng chúng ta sẽ tìm hiểu cách nó chạy nội dung thông qua Filter the_content.
Bộ lọc Filter the_content của WordPress là bộ lọc lấy một giá trị chuỗi ($content) và áp dụng một bộ lọc cho giá trị chuỗi đó. Cũng như cách dùng các Hook, Bộ lọc Filter khác của WordPress, nó nhận một giá trị và trả về phiên bản đã được chỉnh sửa của giá trị đó.
Như vậy, đó là cách mà chúng ta có thể Custom một giá trị nào đó mà dùng Hook, Filter của WordPress. Thông thường sẽ Custom để thêm thẻ đoạn văn và thuộc tính rel mặc định, tự động nhúng Video…
Để Custom chúng ta sẽ thêm đoạn mã sau vào file function.php :
add_filter( ‘the_content’, ‘my_function_article’, 10 );
function my_function_article ( $content ) {
$first_char = substr( $content, 0, 1 ); // gets 1 char at position 0
$content = substr( $content, 1 ); // trim first char
$content = ‘<span class=”char-one”>’ . $first_char . ‘</span>’ . $content;
return $content;
}
Với cách xử lý như trên thì chúng ta đã thực hiện Custom để có được nội dung bài đăng hiển thị đã được chỉnh sửa theo ý muốn. Cách làm này giúp cho nội dung bài đăng khi hiển thị sẽ giống cách hiển thị của các toà báo, với ký tự đầu tiên của nội dung bài đăng sẽ hiển thị đặc biệt hơn.
Tương tự với các cách Custom khác, thực hiện xử lý với mã code
cũng giống như trên.
+ Chúng ta cũng có thể thêm điều kiện chỉnh sửa nội dung bài đăng như sau:
· is_single(), is_page(), is_attachment()
· is_singular()
· is_singular(‘product’, ‘custom_post_type_slug’, ‘ID’) // Áp dụng cho loại Product, cho loại bài đăng tuỳ chỉnh có custom_post_type_slug , cho loại bài đăng có ID
· in_the_loop()
· is_main_query()
function my_function_with_post_type ( $content ) {
if ( is_single() ) {
// Code tại đay dành cho Post, Page hoặc Attachment
} elseif ( is_singular(‘page’) ) {
// Code tại đây dành cho Page post type
} elseif ( is_main_query() ) {
// Chỉ thực hiện với main query
} else {
// Code tại đây dành cho các trường hợp khác
}
}
add_filter( ‘the_content’,’my_function_with_post_type’ );