Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để nhận được bài đăng được nhận xét gần đây nhất bên trên bài đăng mới đã gửi trong Wordpress?

Hãy thử nó hoạt động hoàn hảo cho tôi những gì nó đang làm truy vấn lấy tất cả các bài đăng với một left jon với comments bảng để khi một bài đăng có nhận xét them =n nó cũng có comment_date nếu không có nhận xét nào được đăng trên bài viết thì kết quả đặt nó sẽ là null vì vậy tôi đã hợp nhất comment_date với post_date vì vậy bài đăng nào có ngày lớn hơn (cho comment_date hoặc post_date) nó sẽ đầu tiên và cứ tiếp tục như vậy

SELECT p.*,
(CASE WHEN c.comment_date IS NULL THEN p.`post_date` ELSE c.comment_date END) order_column
 FROM `wp_posts` p
LEFT  JOIN `wp_comments` c  ON (p.ID = c.`comment_post_ID` ) WHERE p.post_type='post' AND p.post_status='publish'
GROUP BY p.ID
 ORDER BY order_column   DESC

Để hiển thị các bài đăng, trước tiên bạn phải nhận được kết quả bằng cách xác định biến toàn cục của WP cho tương tác cơ sở dữ liệu, tức là $wpdb

<?php
global $wpdb;
$results = $wpdb->get_results("    SELECT p.*,
    (CASE WHEN c.comment_date IS NULL THEN p.`post_date` ELSE c.comment_date END) order_column
     FROM `wp_posts` p
    LEFT  JOIN `wp_comments` c  ON (p.ID = c.`comment_post_ID` ) WHERE p.post_type='post' AND p.post_status='publish'
    GROUP BY p.ID
     ORDER BY order_column   DESC"); 
?>

HTML

<?php foreach($results as $result){

<h1><?php echo $result->post_title;?></h1>
<div> <?php echo $result->post_content;?> </div>
// and so on the fields of wp_posts
<?php } // loop end ?>

Hy vọng đó là những gì bạn đang tìm kiếm




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết quả khác nhau trong SQL fiddle và trong máy chủ MySQL / PhpMyadmin

  2. Sử dụng biến phiên PHP trong tệp MySQL chạy bằng PHP?

  3. Thủ tục được lưu trữ mysql chậm hơn 20 lần so với truy vấn tiêu chuẩn

  4. Thiết kế cơ sở dữ liệu ứng dụng web xã hội:làm cách nào để cải thiện lược đồ này?

  5. Cờ cột có nghĩa là gì trong MySQL Workbench?