WordPress获取相同文章标题的文章列表

总是会有这种奇怪的功能需求,在传统相声(http://www.600duan.com)这个小站中因为同一个段子有很多艺人表演,而文章的标题是采用的段子名称,表演者是标签,我需要在文章页把这些都列出来。

query_posts()这个函数好像也能实现,不过好像没有post_title =>”这一项,应该是要加一个过滤函数,实在是没耐心,而且之前用过一次这个类似的功能有点儿问题还没解决,所以采用之前用过的一个从SQL匹配相关文章的代码。

在要获取这个列表的位置加入以下代码:

[cc lang=”php”]
ID ;
$title = get_post($id)->post_title;
if ($title) {
$related = $wpdb->get_results(”
SELECT post_title, ID
FROM {$wpdb->prefix}posts
WHERE {$wpdb->prefix}posts.post_title = ‘” . $title . “‘
AND {$wpdb->prefix}posts.post_status = ‘publish’
AND {$wpdb->prefix}posts.ID != ‘” . $post->ID . “‘
ORDER BY RAND( )
LIMIT 10”);

if ( $related ) {
foreach ($related as $related_post) {
$tags = wp_get_post_tags($related_post ->ID);
?>