Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите най-новата коментирана публикация над нова изпратена публикация в Wordpress?

Опитайте работи идеално за мен това, което прави заявка вземете всички публикации с left jon с comments таблица, така че когато дадена публикация има коментар them=n, тя също има comment_date ако няма публикувани коментари в публикацията, тогава в резултатния набор той ще бъде null така че обединих comment_date с post_date така че коя публикация има по-голяма дата (за comment_date или post_date) тя ще бъде първа и така нататък

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

За показване на публикациите първо трябва да получите резултатите, като дефинирате глобалната променлива на WP за взаимодействието с базата данни, т.е. $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 ?>

Надявам се това да търсите




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel 5.5 Грешка Базовата таблица или изглед вече съществува:1050 Таблица „потребители“ вече съществува

  2. PHP базата данни не показва правилния начин

  3. Възстановете базата данни в WAMP

  4. какво е известието:идентификатор на ресурс #9?

  5. Как да получите идентификатора на последния вмъкнат ред, използвайки readystatement?