내가 가진 범주 수를 기반으로 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의 결과를 다른 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 (...)', 루프가 implode되면'echo implode ('/', $ links)'. – deceze
나를 htmlspecialchars에 소개해 주셔서 감사합니다. 나는 이것을 나중에 명심해야합니다 :) – UzumakiDev