Hiển thị toàn bộ term bởi level | get all term by level

Cập nhật lần cuối 17/12/2014 by trong WordPress vào 17/12/2014 có 1139 Views

 

Thêm đoạn code sau vào chỗ muốn hiển thị

Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.

Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều

<ul>
<?php

$top_level_arg = array(
'style' => 'none',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'title_li' => '',
'depth' => '1',
'taxonomy' => 'taxonomy_products',
'echo' => 0
);
$sec_level_arg = array(
'style' => 'none',
'hierarchical' => 1,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'title_li' => '',
'depth' => '2',
//'child_of' => $decka,
'taxonomy' => 'taxonomy_products',
'echo' => 0
);
$third_level_arg = array(
'style' => 'none',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'title_li' => '',
'depth' => '3',
'taxonomy' => 'taxonomy_products',
'echo' => 0
);

// make arrays
$top_level_arg_exploaded = explode('<br />',wp_list_categories($top_level_arg));
$sec_level_arg_exploaded = explode('<br />',wp_list_categories($sec_level_arg));
$third_level_arg_exploaded = explode('<br />',wp_list_categories($third_level_arg));

// substract levels
$places = array_diff($third_level_arg_exploaded,$sec_level_arg_exploaded );
asort($places);
$cities = array_diff($sec_level_arg_exploaded, $top_level_arg_exploaded);
asort($cities);
$states = $top_level_arg_exploaded; // necistene, ale orizle

// choose what level you want to see
$level = 3;
// this my own check, it shows certain hyerarchies only on given pages -
if ($level == 1){
$test = implode('',$states);
}elseif ($level == 2){
$test = implode('',$cities);
}elseif ($level == 3){
$test = implode('',$places);
}

// build the collumns with links
$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
if(preg_match_all("/$regexp/siU", $test, $matches, PREG_SET_ORDER)) {
foreach($matches as $match) {
// create new arra name->link for later sorting
$c[] = array('name' => $match[3], 'link' => $match[2]);
}
}

foreach ($c as $tag){

echo '<li><a href="'.$tag['link'].'">'.$tag['name'].'</a></li>';
}

?>
</ul>

Thay đổi taxonomy_products Bằng taxonomy của bạn.

Thay $level = 3; bằng level bạn muốn hiển thị

Tham khảo: https://wordpress.org/support/topic/how-to-list-2nd-level-of-a-taxonomy-terms?replies=5#post-1710474

Chúc các bạn thành công ^^

5/5 - (2 votes)
  • Bình luận
Sản phẩm nổi bật của Toản
x