Как получить только последний ребенок категории slug?

ОПИСАНИЕ

Я хочу получить имя пули последнего ребенка из категории post. Мои категории моих сообщений представляют города, и я назначаю им 3-4 категории уровней как continent , country , region и последний наиболее важный city категории, как вы можете видеть здесь:

пример

 Europe Italy Rome 

Я использую этот рабочий код для отображения изображения категории сообщений, которые говорят о каком-то городе на моей индексной странице:

 <img src="<?php echo bloginfo('url'); ?>/wp-content/uploads/cities/<?php foreach(get_the_category() as $category) { echo $category->slug . ' ';} ?>-140x140.jpg" alt=" " /> 

Он полностью работает и дает мне результат:

….. wp-content / uploads / cities / europe italy rome -140×140.jpg

Я использую cities в папках, чтобы сохранить изображения города в папке «uploads»

WP-содержание / добавления / города /

ЦЕЛЬ

Меня интересует только подкатегория cities , но имя пули содержит 3 категории, которые, к сожалению, никогда не находятся в правильном родительском порядке, и поэтому я хотел бы сделать ее более простой, и я хочу получить только имя последнего ребенка из 3 назначенных категорий / подкатегорий.

Как я могу это достичь?

Пример моего GOAL – название изображения с использованием третьей (последней) дочерней категории «представляющий город»:

…… wp-content / uploads / cities / rome -140×140.jpg

Создайте пользовательскую таксономию для городов, а затем используйте get_the_terms() чтобы отобразить термин slug в URL-адресе изображения.

АЛЬТЕРНАТИВА

Если вы хотите только последний slug, вы можете использовать PHP для этого. Поместите это в самый верх файла сразу после get_header() :

 <?php /* Grab the link. */ $link = $_SERVER['PHP_SELF']; /* Separate the url. */ $array = explode( '/', $link ); /* Count your way backwards. */ $last_slug = count( $array ) - 2; $the_city = $array[$last_slug]; ?> 

ИЛИ

 <?php /* Grab the link. */ $link = $_SERVER['REQUEST_URI']; /* Separate the url. */ $array = explode( '/', $link ); /* Grab the second to last element in the array. */ $the_city = prev( $array ); ?> 

ИСПОЛЬЗОВАНИЕ: используйте следующие теги изображений:

 <img src="<?php echo bloginfo('url'); ?>/wp-content/uploads/cities/<?php echo $the_city; ?>-140x140.jpg" alt=" " /> 

Попробуйте эту функцию:

 function misha_get_last_cat_slug() { $categories = get_the_category(); $last_category = $categories[0]; foreach($categories as $category) { if($category->parent == $last_category->cat_ID ) { $last_category = $category; } } return $last_category->slug; } 

И затем используйте его в своем HTML:

 <img src="<?php echo bloginfo('url'); ?>/wp-content/uploads/cities/<?php echo misha_get_last_cat_slug() ?>-140x140.jpg" alt=" " />