http://104.152.110.248/~baron/category/recipes/ — Сайт, над которым я работаю
Так что я делаю так, чтобы, когда сообщение (получатель) находилось в определенной категории, я хотел, чтобы соответствующий значок появлялся рядом с заголовком сообщения.
Например, крабовые пироги относятся к категории рыб, поэтому рядом с заголовком должна отображаться только иконка рыбы. И Филе Mingion только в категории говядины, поэтому он должен отображать только значок коровы.
У меня проблема в том, что если есть ЛЮБЫЕ посты с назначенной категорией говядины, он отображает значок говядины для ВСЕХ постов. Пока я хочу, чтобы он отображался только для поста, которому назначена категория говядины.
Это текущий код, который я использую для этого.
<?php
if ($all_the_tags);
$all_the_tags = get_categories();
foreach($all_the_tags as $this_tag) {
if ($this_tag->name == "Spicy" ) {
?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Chili Pepper Filled.png">
<?php } else if ($this_tag->name == "Chicken" ) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Chicken Filled.png">
<?php } else if ($this_tag->name == "Vegetables" ) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Tomato Filled.png">
<?php } else if ($this_tag->name == "Fish" ) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Fish Food Filled.png">
<?php } else if ($this_tag->name == "Pork" ) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Pig.png">
<?php } else if ($this_tag->name == "Beef" ) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Cow Filled.png">
<?php } else {
// it's neither, do nothing
?>
<!-- not tagged as one or the other -->
<?
}
}
?>
Попробуйте это, замените ваш код следующим кодом:
<?php
if (has_category("Spicy",get_the_id())) {
?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Chili Pepper Filled.png">
<?php } else if (has_category("Chicken",get_the_id())) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Chicken Filled.png">
<?php } else if (has_category("Vegetables",get_the_id())) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Tomato Filled.png">
<?php } else if (has_category("Fish",get_the_id())) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Fish Food Filled.png">
<?php } else if (has_category("Pork",get_the_id())) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Pig.png">
<?php } else if (has_category("Beef",get_the_id())) { ?>
<img class="icons" src="http://104.152.110.248/~baron/wp-content/themes/Baron/img/icons/Cow Filled.png">
<?php } else {
// it's neither, do nothing
?>
<!-- not tagged as one or the other -->
<?
}
?>
Ссылка: https://developer.wordpress.org/reference/functions/has_category/
Других решений пока нет …