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ó 437 Views

 

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

<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 ^^

Hiển thị toàn bộ term bởi level | get all term by level
5 (100%) 2 votes
  • Bình luận
Hosting nên dùng cho WordPress tại Việt Nam
Có thể bạn quan tâm
x