怎样才能得到类别鼻涕虫的最后一个孩子?

时间:2014-10-16 作者:Daniel Foltynek

DESCRIPTION

我想知道这篇文章最后一个孩子的名字。我的帖子类别代表城市,我为它们分配了3-4个级别类别continent, country, region, 最后一个最重要的类别city 如您所见:

Example

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内容/上传/城市/europe italy rome -140x140.jpg

我正在使用文件夹cities 将城市图像保存在“上载”文件夹中

wp内容/上传/城市/

GOAL

我只对cities 子类别,但slug的名称包含3个类别,不幸的是,它们从来都不是正确的父级顺序,这就是为什么我想让它更简单,我只想得到这3个指定类别/子类别中最后一个子类别的名称。

我如何才能做到这一点?

我的目标示例-使用第三(最后)个子类别“代表城市”的图像名称:

。。。。。。wp内容/上传/城市/rome -140x140.jpg

2 个回复
SO网友:Courtney Ivey

为城市创建自定义分类法,然后使用get_the_terms() 在图像URL中显示术语slug。

可供替代的

如果您只想要最后一个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];
?>

OR

<?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 );
?>

USAGE: Use the following for your image tag:

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

SO网友:Misha Rudrastyh

尝试此功能:

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=" " />

结束

相关推荐

Show Pages in Categories

通过将此代码添加到函数中,我创建了category函数。php:function page_category() { register_taxonomy_for_object_type(\'category\', \'page\'); } // Add to the admin_init hook of your theme functions.php file add_action( \'init\', \'page_category\' ); 但问