1

投稿に割り当てられたカテゴリのエコーの横にスペースを追加するにはどうすればよいですか:

<?php  
   $category_detail=get_the_category($post->ID); 
   foreach($category_detail as $cd)
   { 
     echo $cd->slug; 
   }
?>

上記のコードは、投稿に割り当てられたすべてのカテゴリを出力しますが、次のように出力します。

category1category5

印刷された各カテゴリ間にスペースを追加するにはどうすればよいですか? つまり、カテゴリ 1 カテゴリ 5

4

5 に答える 5

3

いくつかの魔法で:

echo $cd->slug.' ';
于 2013-06-26T22:06:12.107 に答える
0

私は通常、次のような単純なことを行います。

<?php  
   $category_detail=get_the_category($post->ID); 
   $sep='';
   foreach($category_detail as $cd)
   { 
     echo "${sep}".$cd->slug;
     $sep=' '; 
   }
?>

末尾または先頭のスペースはありません。

于 2013-06-26T22:13:43.583 に答える
0

コードの背後にあるロジックは次のとおりです。これが最初に出力する ID であるかどうかをテストします。これが出力する最初の ID である場合、何もしません。しかし、それが最初の ID でない場合は、印刷する前にスペースを印刷します。そうすれば、すべての ID が 1 つのスペースで区切られ、先頭または末尾にスペースがなくなります。

コード:

<?php  
  $category_detail=get_the_category($post->ID); 
  $i = 0;
  foreach($category_detail as $cd)
  { 
   if($i)echo " ";
   echo $cd->slug;
   $i=1;
  }
?>
于 2013-06-26T22:05:56.217 に答える
0

implode を使用した別のバージョンを次に示します。

$category_detail = get_the_category($post->ID);
$category_slug_collect = array_map(
                             function($obj) { return $obj->slug; }, 
                             $category_detail
                         );
echo implode($category_slug_collect, ' '); 
于 2013-06-26T22:38:04.270 に答える