我想用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"
);
答案 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;帖子'的部分添加别名。