Cum să afișați categoriile copil ale categoriei părinte pentru categoria curentă?
5 sept. 2016, 04:27:00
Vizualizări: 23.7K
Voturi: 2
Încerc să afișez o listă de categorii într-un widget text cu PHP activat. Pe paginile categoriilor copil, am nevoie să obțin ID-ul categoriei părinte a categoriei curente și apoi să folosesc acel ID pentru a returna o listă cu toate categoriile copil ale acelei categorii, cu excepția categoriei curente.
Am încercat următorul cod, dar nu funcționează:
<?php if (is_category( )) {
$thiscat = get_category( get_query_var( 'cat' ) );
$catid = $thiscat->cat_ID;
$parent = $catid->category_parent;
$catlist = get_categories(
array(
'child_of' => $parent, // ID-ul categoriei părinte
'orderby' => 'id', // ordonare după ID
'order' => 'DESC', // ordine descrescătoare
'exclude' => $catid, // exclude categoria curentă
'hide_empty' => '0' // arată și categoriile goale
) );
} ?>
Acest cod afișează atât categoriile părinte, cât și categoriile copil.

jrcollins
571
Toate răspunsurile la întrebare
2
0
Acum înțeleg că există o metodă mai ușoară de a face asta:
<?php if (is_category( )) {
$thiscat = get_category( get_query_var( 'cat' ) );
$catid = $thiscat->cat_ID;
$parent = $thiscat->category_parent;
if (!empty ($parent) ) {
//pagini de categorii copil
$catlist = get_categories(
array(
'child_of' => $parent,
'orderby' => 'id',
'order' => 'DESC',
'exclude' => $catid,
'hide_empty' => '0'
) );
}
} ?>

jrcollins
571
5 sept. 2016 11:08:30
0
Aceasta pare să funcționeze:
<?php if (is_category( )) {
$thiscat = get_category( get_query_var( 'cat' ) );
$catid = $thiscat->cat_ID;
//crează un array din get_category_parents
$parent_list = (explode (',',get_category_parents($catid,false,',')));
$parent_name = ($parent_list[0]);
$parent = get_cat_ID( $parent_name );
$catlist = get_categories(
array(
'child_of' => $parent,
'orderby' => 'id',
'order' => 'DESC',
'exclude' => $catid,
'hide_empty' => '0'
) );
//verifică dacă categoria curentă este părinte
if ( $catid == $parent ) {
echo '<span>aceasta este o pagină de categorie părinte</span>';
}
else {
echo '<span>aceasta este o pagină de categorie copil</span>';
}
}
?>

jrcollins
571
5 sept. 2016 06:55:40
Întrebări similare
3
răspunsuri
2
răspunsuri
1
răspunsuri
2
răspunsuri