我试图根据我拥有的类别数创建一个URL。预期的输出我想要的是:带变量的两个foreach语句
<a href="http://lart.co.uk/?cat=13" title="Category Name">Dance</a>
<a href="http://lart.co.uk/?cat=19" title="Category Name">Fashion</a>
我得到的输出是:
<a href="http://lart.co.uk/?cat=13" title="Category Name">
<a href="http://lart.co.uk/?cat=19" title="Category Name">
Dance</a> Fashion</a> </a>
这是我想几乎什么,但很明显,我还是关闭的不少。我使用3个foreach语句来获得这个结果。我试过嵌套一个foreach,但没有奏效。问题是让一个foreach的结果进入另一个。
下面是我使用的代码:
<?php
$categories = get_the_category();
$separator = ', ';
if($categories) {
foreach($categories as $category) {
$output .= $category->cat_name.$separator;
$cat_id[] = $category->cat_ID;
}
foreach($cat_id as $id) {
$category_link = get_category_link($id); ?>
<a href="<?php echo esc_url($category_link); ?>" title="Category Name">
<?php }
$strarr = explode(',',$output);
foreach($strarr as $string) {
echo $string .'</a>';
}
} ?>
哇,这是一个该死的罚款答案。然而,我对此有唯一的质疑,那就是如何在每个链接之间放置一个'/'而不是最后一个链接。有点像“舞蹈/时尚/音乐”? – UzumakiDev
不是直接输出,而是将每个链接放入一个数组中:'$ links [] = sprintf(...)',然后在循环之后使它们爆炸:'echo implode('/',$ links)'。 – deceze
感谢您向我介绍htmlspecialchars我将在未来保持这一点:) – UzumakiDev