需要在最后列出的类别之前添加文本,然后在结尾处添加文本。 (Wordpress类别php)

时间:2014-08-06 01:18:44

标签: php

我已经抓住了一个我希望在我的PHP代码中实现的设置。此代码提取列表分组的类别,并在屏幕上显示:

精选家常菜新鲜水果晚餐快餐

我希望实现的目标是:

精选家常菜新鲜水果晚餐快餐收藏品

如果您注意到,快速用餐之前的以及之后的集合是我需要做出的更改。我刚刚开始学习php,我无法在不破坏它的情况下进行调整。以下是我与之合作的内容:

非常感谢你能够拯救我。我认为这并不困难。

$permalink = get_permalink( $id );

$ seo = get_the_title()。" - 提供:&#34 ;;

$ Category_links ='精选于';

$ term_list_category = wp_get_post_terms(get_the_ID(),' listings_categories',数组("字段" =>" ID"));

$ i = 0;

$ count = count($ term_list_category);

if ( $count > 0 ){

    foreach ( $term_list_category as $term_category ) {

        $thisCat = get_term_by( 'id', $term_category, 'listings_categories');

        $url = '<a class="listing-links" href="/listings/'.$thisCat->{'slug'}.'/'.'" title="'.$thisCat->{'name'}.' - Food listings " >'.$thisCat->{'name'}.'</a>';

        $i ++;

        $seo .= " " . $thisCat->{'name'} . "";

        $Category_links .= " " . $url . "";

        if ($count > 1 && $count !== $i) {$Category_links .= ", ";  $seo .= ", "; }

    }
}

2 个答案:

答案 0 :(得分:0)

我更喜欢简单的数组操作来输出字符串;

<强>基本

//example of assigning those categories
$cats = array('Cat 1', 'Cat 2', 'Cat 3', 'Cat 4');
$ccats = count($cats);

foreach($cats as $i => $cat)
{
    //apply slug as needed here     
    $cats[$i] = '<a href="">' . $cat . '</a>';  
    if($i < ($ccats-1))
    {
        $cats[$i] .= ',';
    }
}

array_splice($cats, ($ccats-1), 0, array('and'));

$cats[] = ' Collections';

echo implode($cats, ' ');

实施(未经测试)

$cats = wp_get_post_terms(get_the_ID(), 'listings_categories', array("fields" => "ids"));
$ccats = count($cats);
$vcats = array();

foreach($cats as $i => $cat)
{
    //apply slug & name as needed here  
    $vcats[$i] = '<a class="listing-links" href="/listing/' . $cat->slug . '" title="' . $cat->name . '">' . $cat->name . '</a>';

    if($i < ($ccats-1))
    {
        $vcats[$i] .= ',';
    }
}

array_splice($vcats, ($ccats-1), 0, array('and'));

echo 'Featured in ' . implode($vcats, ' ') . ' Collections';

希望这有帮助

答案 1 :(得分:0)

在这一行之下---&gt; $ Category_links。=“”。 $ url。 “”;

将代码更改为...

        if($count-1 == $i){
            $Category_links .= " and ";  $seo .= ", ";
        }elseif($count > 1 && $count !== $i){
            $Category_links .= ", ";  $seo .= ", "; 
        }

    }
    $Category_links .= " Collections";      
}

基本上你要检查你是否在数组中的最后一个元素($ count-1)并插入一个“和”而不是“,”

然后在循环之外你可以添加$ Category_links。=“Collections”;添加到输出的末尾。