Назначьте разные классы CSS на основе идентификатора

  1. Вот что у меня есть:

    Фактический вывод

  2. Вот чего я пытаюсь добиться:

    Желаемый вывод

Вот код, который я пытаюсь изменить, чтобы добиться этого:

<?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 заявление, но я не уверен, как правильно его выполнить. У кого-нибудь есть предложения?

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() к переменной и использовать его как в if и в printf дальше. Это является хорошей практикой, поскольку позволяет избежать ненужного вызова этой функции несколько раз.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]