Đăng ngày 13 Tháng ba, 2009 trong mục WP Tips-Tricks | 3,279 lượt xem

Vừa rồi tôi đã hướng dẫn bạn cách đếm số comment, còn bây giờ tôi sẽ hướng dẫn đến cách đếm số post và page. Tương tự như comment nhưng post và page lại nằm ở table 'wp_posts' và có kèm theo vài điều kiện khác.

Đoạn code dưới đây sẽ đếm số post:

1
2
3
4
5
6
<?php
global $wpdb;
$num_posts = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' AND post_password = ''");
if ($num_posts > 0) $num_posts = number_format($num_posts);
echo 'Có tổng cộng ' . $num_posts . ' bài viết trên blog của tôi';
?>

Các điều kiện đã dùng trong câu SQL trên là:

  • post_type = 'post'
  • post_status = 'publish'
  • post_password = ''

Để đếm số page, bạn chỉ việc thay 'post' thành 'page' ở chỗ post_type, còn nếu bạn muốn đếm luôn cả bài viết có đặt password thì bạn chỉ cần xóa đi điều kiện post_password = '' là xong. :D

Mặc dù hiện nay có khá nhiều plugin có chức năng tạo bảng thống kê trên blog của bạn nhưng nếu bạn chỉ đơn thuần muốn đếm số lượng post/page và comment thì tại sao bạn không tự tạo một bảng thống kê nho nhỏ cho riêng mình chỉ với vài dòng code đơn giản? Những blog chia sẻ software hay ebook mà đặt đoạn code trên ở sidebar thì tuyệt vời. >:d<

Đăng ngày 12 Tháng ba, 2009 trong mục WP Tips-Tricks | 3,481 lượt xem

Bài viết này sẽ hướng dẫn bạn cách hiển thị số lượng comment hiện đang có trên blog của bạn (tất nhiên là các comment hợp lệ đã được approved) bằng một đoạn code php khá đơn giản dưới đây.

1
2
3
4
5
6
<?php
global $wpdb;
$num_comments = $wpdb->get_var("SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = '1'");
if ($num_comments > 0) $num_comments = number_format($num_comments);
echo "Có tổng cộng " . $num_comments . " comment trên blog của tôi";
?>

Dán đoạn code trên vào chỗ bạn thích trong các file php của theme mà bạn đang sử dụng. Còn đây là live demo :D

Có tổng cộng 1,108 comment trên blog của tôi

Rất đơn giản phải không nào? Kỳ tới tôi sẽ tiếp tục hướng dẫn bạn cách đếm số lượng các post và page. Nhớ theo dõi nhé! :)

Đăng ngày 4 Tháng ba, 2009 trong mục WP Tutorial | 6,807 lượt xem

Là người dùng WordPress, có bao giờ bạn nghe nói đến tính năng Revision (có từ WordPress 2.6) chưa? Có thể bạn đã nghe qua ở đâu đó nhưng chưa thật sự hiểu rõ hoặc bạn không muốn tìm hiểu thì tôi khuyên bạn nên đọc bài viết này để hiểu rõ hơn bởi nó có ảnh hưởng đến database của blog mà bạn đang chạy.

Bản thân tôi trước đây cũng không quan tâm đến chuyện này, bởi dù có quan tâm hay không thì blog của mình vẫn chạy bình thường, đâu có bị trục trặc gì mà phải vọc phá chi cho tốn thời gian. :mrgreen:

Nhưng tình cờ một hôm tôi vào phpMyAdmin để backup database cho blog thì tôi phát hiện ra rằng: có rất nhiều bài viết cùng 'post_title', 'post_content', 'post_author' nhưng lại khác 'ID', 'post_date' và 'post_type' trong table 'wp_posts'. Chỉ cần dùng một câu lệnh SQL đơn giản dưới đây là bạn sẽ thấy được ngay: (nhớ thay chữ 'Hello World!' bằng tên một bài viết nào đó trên blog của bạn)

1
2
3
SELECT ID, post_title, post_author, post_content, post_date, post_type
FROM wp_posts
WHERE post_title = 'Hello World!'

sql
Xem qua một loạt các bài viết như vậy, tôi mới nhận thấy rằng: trong số những bài trùng lặp ấy, chỉ có một bài duy nhất có 'post_type' là 'post' (hoặc 'page' nếu đó là trang) là bài viết đang được publish, còn lại là attachment và revision <= cái mà chúng ta đang nói đến.

Vậy revision là gì và tại sao WordPress lại tạo ra chúng? Câu trả lời sẽ được giải đáp ở trang 2 của bài viết này.

Trang: 1 2 3 4

Đăng ngày 23 Tháng mười hai, 2008 trong mục WP Tips-Tricks | 2,699 lượt xem

Bạn muốn hiển thị số lượng các câu truy vấn SQL đã tác động lên cơ sở dữ liệu trên blog của bạn như tôi đã thực hiện trên blog này giống như thế này:

41 câu truy vấn trong 1.142 giây

Rất đơn giản, chỉ cần mở file footer.php trong thư mục chứa theme mà bạn đang dùng rồi dán đoạn code sau tại bất cứ nơi nào bạn thích:

1
<?php echo get_num_queries(); ?> câu truy vấn trong <?php timer_stop(1); ?> giây

Nếu bạn muốn chỉ những user đã đăng nhập mới thấy được số câu truy vấn thì dùng đoạn code sau:

1
2
3
<?php if (is_user_logged_in()) { ?>
<?php echo get_num_queries(); ?> câu truy vấn trong <?php timer_stop(1); ?> giây.
<?php } ?>

Cám ơn Jean-Baptiste Jung đã nghĩ ra ý tưởng này.