Wordpress không hiển thị nội dung bài viết

Bạn có thể sử dụng các Plugin có sẵn để hiển thị các bài viết xem nhiều nhất. Tuy nhiên, mình muốn tùy biến vị trí hiển thị của nó. Vì vậy, mình quyết định làm điều đó mà không sử dụng Plugin. Trong bài này, mình sẽ chỉ cho bạn cách theo dõi số lượt xem và hiển thị các bài viết được xem nhiều nhất theo số lượt xem trong WordPress mà không cần sử dụng bất kỳ Plugin nào.

Xem thêm: Plugin là gì? Chúng hoạt động thế nào trong WordPress

Dưới đây là ví dụ về hiển thị bài viết xem nhiều nhất mà mình để nó ở tab ĐỌC NHIỀU:

Việc đầu tiên chúng ta cần làm là tạo ra một chức năng sẽ theo dõi số lượt xem và lưu trữ nó như là một trường tùy chỉnh cho mỗi bài viết. Để thực hiện việc này, bạn hãy thêm đoạn mã sau vào tập tin functions.php của chủ đề:

Bạn cần phải gọi chức năng này trên các trang bài đăng. Theo cách này, chức năng sẽ biết chính xác bài viết nào được xem nhiều nhất dựa theo số lượt xem. Để làm điều này, bạn cần phải thêm đoạn mã sau vào bên trong vòng lặp hiển thị bài viết của bạn.

Xem thêm: 9 Plugin tốt nhất cho SEO mà bạn nên sử dụng

Nếu bạn đang sử dụng một chủ đề con hoặc bạn chỉ muốn làm mọi việc trở lên dễ dàng, thì bạn chỉ cần thêm trình theo dõi trong tiêu đề bài viết bằng cách sử dụng hook wp_head. Thêm đoạn mã sau vào tập tin functions.php của chủ đề:

Khi bạn đã làm theo hướng dẫn trên thì mỗi khi người dùng truy cập vào bài viết, trường tùy chỉnh sẽ được cập nhật. Nếu bạn muốn hiển thị số lượt xem bài viết trên các trang bài viết (thường để dưới tiêu đề bài viết). Việc bạn cần làm là thêm đoạn mã sau vào tập tin functions.php của chủ đề:

Sau đó, trong vòng lặp hiển thị bài viết bạn thêm đoạn mã sau vào vị trí bạn muốn hiển thị số lượt xem bài viết:

Xem thêm: 5 bước để tối ưu website WordPress

Cuối cùng, nếu bạn muốn hiển thị các bài viết theo thứ tự lượt xem nhiều nhất, thì bạn có thể làm điều đó một cách dễ dàng bằng cách sử dụng tham số wp_query post_meta. Ví dụ một vòng lặp cơ bản nhất sẽ giống như sau:

KẾT Qua bài trên bạn đã biết làm thế nào để theo dõi số lượt xem các bài viết, cách hiển thị số lượt xem trong các bài viết và hiển thị thứ tự bài viết theo số lượt xem nhiều nhất. Bạn hãy áp dụng luôn vào chủ đề của bạn, những phần hiển thị này sẽ giúp chủ đề của bạn được hiển thị đa dạng hơn.

Trong bài này chúng ta sẽ tùy chỉnh cách hiển thị bài viết trên website. Cái này mình cũng đã từng hướng dẫn trong phần Post Setting của theme rồi, nên chúng ta cũng sẽ thực hiện nhanh thôi.

Các thiết lập trong Reading Settings


So với các mục tùy chọn trong phần Post Setting của theme Smartline thì mặc định của WordPress khá đơn giản với các mục dưới đây:

Wordpress không hiển thị nội dung bài viết

Thiết lập hiển thị bài viết – Reading Settings trên WordPress

  • Front page displays – tùy chọn trang chủ mặc định của website. Bạn có thể chọn Your latest posts để hiển danh sách bài viết mới nhất.  A static page (select below) để chọn một trang bất kỳ mà bạn muốn.
  • Blog pages show at most – số lượng bài viết hiển thị trên mỗi trang. Ví dụ bạn có 16 bài viết, bạn chọn cái này là 4 bài thì website của bạn sẽ chia ra làm 4 trang và được đánh số – cái này người ta gọi là phân trang.

Wordpress không hiển thị nội dung bài viết

Ví dụ về phân trang trên WordPress

  • Syndication feeds show the most recent – Số bài viết mới được hiển thị tại trang RSS Feed của website (vd: hocban.vn/feed). Cái này hiện tại bạn chưa cần quan tâm, mình sẽ có một bài viết riêng về nó.
  • For each article in a feed, show – hiển thị nội dung bài viết trong trang chủ đề (article page). Chọn Full text nếu bạn muốn hiển thị toàn bộ nội dung bài viết, Summary thì hiển thị một đoạn trích dẫn ngắn của bài viết.
  • Search Engine Visibility – Ngăn không cho các công cụ tìm kiếm Index nội dung website của bạn. Nếu website lúc đang trong quá trình chỉnh sửa hoặc mới tạo thì phải chọn vào đây. Khi nào nội dung hoàn thiện hãy đánh dấu vào nó, điều này tránh việc các công cụ tìm kiếm đánh giá website của chúng ta “toàn bài nháp” và kém chất lượng.

>> Cuối cùng là nhấn vào Save Changes để lưu lại các thiết lập ở trên nhé !

Oke, nội dung bài này cũng khá đơn giản đúng không các bạn ? Còn bây giờ, nếu bạn có điều gì thắc mắc, hãy để lại bình luận bên dưới nhé !

Lỗi này có thể xảy ra thường xuyên hoặc thỉnh thoảng khi bạn thực hiện tác vụ nào đó trong website. Khi gặp lỗi, nó sẽ trả về lỗi trắng trang kèm theo thông báo là “Fatal Error: Allowed Memory Size Of XXX Bytes Exhausted”.

Nguyên nhân & Cách khắc phục:

Nguyên dân xảy ra lỗi này là do bộ nhớ chung của máy chủ mà bạn được phép sử dụng không cung cấp đủ cho ứng dụng PHP để xử lý WordPress, rất hay gặp trên các host miễn phí và đôi lúc là cả trên host trả phí nếu website bạn có quá nhiều dữ liệu.

Trước tiên, hãy thử tự khắc phục bằng cách chèn đoạn sau đây vào file wp-config.php:

define( 'WP_MAX_MEMORY_LIMIT', '512M' );

Sau đó thêm vào .htaccess ở thư mục gốc nếu sử dụng Shared Host hoặc Apache.

php_value memory_limit 512M

Nếu vẫn không được thì thử tạo php.ini ở thư mục gốc của website và thêm:

memory_limit=512M

Nếu có thể, bạn hãy liên hệ với đội ngũ hỗ trợ kỹ thuật để họ xử lý giúp bạn vì trong  một số nhà cung cấp họ không cho phép bạn tự làm việc này.

Lỗi 2. Warning: Cannot Modify Header Information

Thông thường sẽ có nhiều bạn trở nên hoảng hốt khi tự dưng website xuất hiện thêm thông báo “Warning: Cannot modify header information – headers already sent by…..” phía trên sau khi cập nhật WordPress, theme, plugin,….

Nguyên nhân & Cách khắc phục:

Đối với WordPress, nguyên nhân chính phổ biến nhất là file báo lỗi (xem trong đoạn báo lỗi) bị thừa một khoảng trắng trước ký tự  ở đầu.

Do đó, hãy mở file bị lỗi ra và hãy chắc chắn rằng đầu file không chứa bất kỳ khoảng trắng nào. Và để cho chắc ăn, hãy chủ động thêm ?> ở cuối file.

Hoặc nếu có thể, bạn hãy tải file bị lỗi về và mở bằng Notepad++, sau đó chọn Encoding -> UTF-8 without BOM.

Lỗi 3. “Briefly Unavailable For Scheduled Maintenance”

Sau khi bấm nút update WordPress hoặc Theme/Plugin và bấm vào tác vụ khác có thể bạn sẽ gặp lỗi này.

Nguyên nhân & Cách khắc phục:

Khi update, WordPress sẽ tự động đưa website về trạng thái bảo trì để hệ thống tự động cập nhật làm xong việc của nó để tránh các phiền toái xảy ra. Vì thế, thông thường thì lỗi này sẽ tự động mất sau khoảng vài chục giây hoặc vài phút.

Trong vài trường hợp hiếm hoi, do quá trình update xảy ra lỗi nên WordPress không thể đưa website về trạng thái ban đầu nên sẽ hiển thị thông báo này gần như là mãi mãi. Lúc đó, hãy thử khắc phục bằng cách xóa file .maintenance ở thư mục gốc thông qua FTP. Lúc này mọi thứ sẽ bình thường trở lại.

Lỗi 4. Lỗi trắng trang

Trắng trang không phải là lỗi, đó là một tính năng giúp website bạn bảo mật hơn khi xảy ra lỗi bên trong. Thông thường khi lỗi trình duyệt sẽ hiển thị lỗi ra kèm đường dẫn của tập tin bị lỗi hay nguyên nhân bị lỗi, điều này có thể sẽ nguy hiểm trong một vài trường hợp nếu kẻ xấu nhìn thấy, nên webserver sẽ không hiển thị ra và nó thành “lỗi” trắng trang.

Nguyên nhân & Cách khắc phục:

Các nguyên nhân phổ biến nhất là thường:

  • Sửa file functions.php ở theme không đúng cách, sai cú pháp.
  • Plugins không tương thích với phiên bản WordPress hiện tại.
  • Themes bị viết sai cú pháp, hoặc sử dụng hàm không tồn tại.
  • ….

Do đó, nếu bị lỗi trắng trang thì hãy cố gắng nhớ lại xem mình đã táy máy những gì và quay lại đó sửa. Hoặc xem lỗi của website để biết nó lỗi ở đâu mà sửa.

Để hiển thị lỗi ra trình duyệt, bạn mở wp-config.php tìm 

php_value memory_limit 512M
0 và sửa 
php_value memory_limit 512M
1 thành 
php_value memory_limit 512M
2. Đồng thời thêm ngay bên dưới nó:

define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );

Bây giờ hãy vào lại website xem đã hiển thị lỗi chưa. Nếu chưa thì vào thư mục wp-content và mở tập tin debug.log lên nhé.

Sau khi bạn đã sửa xong lỗi, nhớ sửa WP_DEBUG thành false và xóa 2 dòng vừa chèn vào.

Lỗi 5. Bị hỏi tài khoản FTP khi cài theme/plugin

Nếu bạn gặp lỗi này khi cài plugin hay theme, thì điều đó có nghĩa là phân quyền thư mục trên host chưa đúng. Có nghĩa là PHP không thể ghi dữ liệu mới lên thư mục của website. Vì vậy bạn hãy chắc chắn các thư mục trên host đều CHMOD là 755, tập tin là 644.

Nếu bạn sử dụng Shared Host thì hãy liên hệ với nhà cung cấp để họ hỗ trợ phân quyền lại.

Nếu sử dụng VPS/máy chủ riêng thì hãy chắc chắn đã phân quyền thư mục để các user chạy PHP có thể tương tác vào. Ví dụ:

chown -R apache:apache /path/domain.com

Hoặc nếu là NGINX (CentOS):

chown -R nginx:nginx /path/domain.com

Nếu dùng Ubuntu/Debian thì:

chown -R www-data:www-data /path/domain.com

Lỗi 6. Error Establishing A Database Connection

Lỗi này sẽ xuất hiện ở hai trường hợp:

  • Thông tin database bạn nhập vào file wp-config.php bị sai.
  • MySQL đang bị quá tải không thể xử lý dữ liệu gửi đi và gửi về được, thường gặp ở các host yếu hoặc bị DDoS.
  • Dung lượng lưu trữ bị đầy nên MySQL không khởi động được.

Lỗi 7. 404 Not Found khi vào xem bài viết

Thông báo lỗi này có lẽ hầu như ai cũng biết đó là máy chủ không tìm được tập tin tương ứng với truy vấn người dùng ở trình duyệt. Trong WordPress, nhiều người sẽ mắc phải lỗi này khi vào xem bài viết hoặc một cái gì đó bất kỳ sau khi tùy chỉnh permalink.

Lý do xuất hiện lỗi là do cơ chế rewrite URL chưa được kích hoạt trên website bởi vì file .htaccess chưa chèn các quy tắt rewrite cho nó. Trước tiên bạn hãy vào Settings -> Permalinks và ấn nút Save Changes (Cài đặt -> Đường dẫn tĩnh). Nếu vẫn không được thì chèn đoạn sau vào tập tin .htaccess ở thư mục gốc của website.

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Lỗi 8. “unable to create directory wp-content/uploads…” khi upload ảnh

Wordpress không hiển thị nội dung bài viết

Có thể bạn đã từng đau đầu vì nó báo lỗi màu đỏ choét như thế mỗi khi upload ảnh lên bài viết. Lý do xuất hiện lỗi này là máy chủ không có quyền ghi dữ liệu để tiến hành tạo thư mục hoặc đăng một dữ liệu mới vào đó.

Để khắc phục, bạn có thể tiến hành CHMOD thư mục wp-content/uploads và tất cả các thư mục con bên trong của nó thành 755.

Lỗi 9. Stylesheet Is Missing

Wordpress không hiển thị nội dung bài viết

Đối với một số người dùng WordPress mới thì sẽ thường xuyên gặp lỗi này khi tải file theme từ internet về thay vì cài theme có trong thư viện.

Lỗi này có 2 nguyên nhân chính:

  • File theme thiếu file style.css (hiếm gặp).
  • Theme bị nén sai cấu trúc. Bạn cài theme làm sao mà khi vào host, theme bạn phải có cấu trúc là /wp-content/themes/tên-theme/style.css

Lỗi 10. PCLZIP_ERR_BAD_FORMAT (-10)

Wordpress không hiển thị nội dung bài viết

ũng là một lỗi phổ biến liên quan khi upload theme từ máy tính lên. Nguyên nhân là do theme bạn upload lên là định dạng .rar chứ không phải .zip, WordPress chỉ chấp nhận file .zip mà thôi để nó tự động giải nén.

Cách khắc phục là hãy giải nén theme ra và nén lại thành .zip thay vì .rar.

Lỗi 11. Error: The uploaded file exceeds the upload_max_filesize

Lỗi này thường xảy ra nếu bạn dùng Shared Host và sẽ gặp khi bạn upload tập tin gì đó trên host. Nguyên nhân là tập tin bạn tải lên vượt quá giới hạn dung lượng tải lên cho phép của PHP mà máy chủ của họ thiết lập.

Cách khắc phục là chèn đoạn sau vào tập tin .htaccess ở thư mục gốc trên host để tăng giới hạn lên 10MB.

php_value upload_max_filesize 100M<
php_value post_max_size 100M

Hoặc nếu chèn vào .htaccess bị lỗi 500 thì hãy xóa đi và tạo php.ini trong thư mục gốc website rồi chèn: