Mysql Query用一个seo帖子标题替换WP po​​st标题

时间:2011-04-13 17:52:14

标签: php mysql wordpress

我想用seo标题替换帖子标题(如果它存在)

我想在下面的查询中加入$wpdb->wp_postmeta.meta_value WHERE $wpdb->wp_postmeta.meta_key = aioseop_title 我不确定的是用什么代码来查找它是否存在 对于某些帖子,没有aioseop_title。

理想情况下,我希望每次都列出post_title,如果$wpdb->wp_postmeta.metavalue每个帖子都包含meta_key = aioseop_title

这是做什么的:在它下面找到建立谷歌新闻站点地图的帖子ID 我上面提出的将使用seo标题而不是wordpress中的默认帖子标题。

$rows = $wpdb->get_results(
  "SELECT 
     $wpdb->posts.ID
     , $wpdb->posts.post_date_gmt
     , $wpdb->posts.post_title
   FROM $wpdb->posts 
   WHERE $wpdb->posts.post_status='publish' 
     AND (DATEDIFF(CURDATE(), post_date_gmt)<=30)
     $includeMe
   ORDER BY $wpdb->posts.post_date_gmt DESC
   LIMIT 0, 1000"
);  

1 个答案:

答案 0 :(得分:0)

阅读评论后澄清,或许这样的事情?

$rows = $wpdb->get_results(
  "SELECT 
     $wpdb->posts.ID
     , $wpdb->posts.post_date_gmt
     , $wpdb->posts.post_title
     , meta.metavalue
   FROM $wpdb->posts 
   LEFT JOIN $wpdb->wp_postmeta.metavalue AS meta ON meta.post_id = $wpdb->posts.ID AND meta.meta_key = 'aioseop_title'
   WHERE $wpdb->posts.post_status='publish' 
     AND (DATEDIFF(CURDATE(), post_date_gmt)<=30)
     $includeMe
   ORDER BY $wpdb->posts.post_date_gmt DESC
   LIMIT 0, 1000"
);  

在php中有一个条件来确定aioseop(可能是$ row ['metavalue'])列是否为null。我没有深入研究wordpress以了解确切的列名,但是从你提出的内容来看,这可能是你正在寻找的。 (顺便说一句,你也可能更容易为'FROM $ wpdb-&gt;帖子'的部分添加别名。

相关问题