Вот что у меня есть:
Вот чего я пытаюсь добиться:
Вот код, который я пытаюсь изменить, чтобы добиться этого:
<?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>
Как видите, он присваивает класс «собака» всем ссылкам на форуме. Мне нужно назначить отдельные классы различным форумам на основе идентификатора форума, чтобы я мог стилизовать их по-разному.
То, что я думаю, может быть if
заявление, но я не уверен, как правильно его выполнить. У кого-нибудь есть предложения?
Вы можете попробовать что-то вроде этого:
<?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()
к переменной и использовать его как в if
и в printf
дальше. Это является хорошей практикой, поскольку позволяет избежать ненужного вызова этой функции несколько раз.
Других решений пока нет …