Wordpres PHP字符串替换

时间:2019-11-13 15:42:05

标签: php html wordpress

我想显示一个帖子类别作为一个类,我已经生成了这个类别。但是我想用连字符替换空格。

<div class="blog-item <?php 
  $categories = get_the_category();

  foreach($categories as $category)
  { 
    echo strtolower($category->cat_name) . ' ';
 }
 ?>"

然后输出以下内容:-

<div class="blog-item blog category 1">

但是我希望它是:-

<div class="blog-item blog-category-1">

有人有什么想法吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

更改行

echo strtolower($category->cat_name) . ' ';

TO

echo $category->slug.' ';

如果您不想使用slug,请替换行

TO

echo strtolower(str_replace(" ","-",$category->cat_name));

答案 1 :(得分:0)

我将回显类别标签而不是类别名称。

所以:

$categories = get_the_category();

foreach($categories as $category) { 
  echo $category->slug;
}

或者如果您只有一个类别:

echo get_the_category()[0]->slug;

答案 2 :(得分:0)

您可以使用wordpress默认函数“ sanitize_title_with_dashes()”来用连字符替换空格-请从https://developer.wordpress.org/reference/functions/sanitize_title_with_dashes/

中获取更多详细信息
<?php 
$categories = get_the_category(); 
foreach($categories as $category)
{
  ?>
  <div class="blog-item <?= strtolower(sanitize_title_with_dashes($category->cat_name)); ?>">

  </div>
  <?php 
}
?>