MySQL问题:将文本附加到wordpress帖子,但仅限于某个类别

时间:2010-10-05 08:31:51

标签: mysql wordpress

如果它属于某个类别(例如,类别ID 7),我需要修改(通过CONCAT,大概是)每个wordpress帖子的东西,但我很难让它工作。

为了测试,我首先尝试选择所有相关帖子。到目前为止,我有以下内容:

SELECT post_title 
    FROM cruise_wp_posts 
        LEFT JOIN cruise_wp_term_relationships 
        ON  cruise_wp_term_relationships.object_id = cruise_wp_posts.ID
        WHERE term_taxonomy_id = 87;

但是,它只列出了类别87中仅 的帖子 - 我需要所有类别87的帖子(也可能是其他类别)

我是一个MySQL新手,这真的让我大脑破碎了。

任何指针都会受到热烈欢迎。

2 个答案:

答案 0 :(得分:0)

为什么不使用get_the_category( $id )并在输出帖子时修改文本?

$cat = get_the_category( $postID );
if ($cat == 7) {
  //Add text here
}

答案 1 :(得分:0)

最好的方法是根据需要对其进行过滤。这样就可以在使用the_content的所有位置进行添加,而不仅仅是在您修改的模板中。

<?php

function my_content_concat($the_content) {
    if (in_category(7)) {
        $the_content .= '<br /><br />foo!';
    }
    return $the_content;
}
add_filter('the_content', 'my_content_concat', 9);

?>

in_category可以获取目标类别的ID,名称或slug。

我将过滤器设置为9,以便在WordPress对内容进行纹理化之前运行。如果你不需要在11点运行它。