根据ID分配不同的css类

时间:2016-04-14 17:09:07

标签: php wordpress bbpress

  1. 这就是我所拥有的:

    Actual output

  2. 这就是我想要实现的目标:

    Desired output

  3. 这是我试图修改的代码来实现它:

    <?php do_action( 'bbp_theme_before_topic_title' ); ?>
    
    
        <span class="bbp-topic-started-in"><?php
            printf( __('<a class="dog" href="%1$s">%2$s</a>', 'bbpress' ),
                    bbp_get_forum_permalink( bbp_get_topic_forum_id() ),
                    bbp_get_forum_title( bbp_get_topic_forum_id() ) );
        ?></span>
        <a class="bbp-topic-permalink" href="<?php bbp_topic_permalink(); ?>"><?php bbp_topic_title(); ?></a>
    

    正如您所看到的,它将“dog”类分配给所有论坛链接。我需要它根据论坛ID为不同的论坛分配不同的类,以便我可以用不同的方式设置它们。

    我在想的可能是if语句,但我不确定如何正确执行它。有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

<?php do_action( 'bbp_theme_before_topic_title' ); ?>

<span class="bbp-topic-started-in">
<?php
    $forumId = bbp_get_topic_forum_id();

    // Replace these values with your forum IDs and css classes
    if ($forumId == 5) {
        $class = "dog";
    } elseif ($forumId == 6) {
        $class = "cat";
    } else {
        // Remember to specify a default css classname
        // in case we didn't match any of the 'if' cases above
        $class = "mouse";
    }

    // Use the $class variable that we set above to dynamically
    // replace the classname with the value we want
    printf( __('<a class="' . $class. '" href="%1$s">%2$s</a>', 'bbpress' ),
            bbp_get_forum_permalink($forumId),
            bbp_get_forum_title($forumId);
?>
</span>

注意我如何将bbp_get_topic_forum_id()设置为变量,并在ifprintf中进一步使用它。这样做是很好的做法,因为它可以避免不必要地多次调用该函数。