Erledigt. Die Kategorie-XML-Sitemap reicht aus.
Hallo Monika,
ich habe mein Vorhaben verworfen. Als zweite Idee wollte ich dann alle Kategorien, die gefüllt sind, auslesen. Nach ein wenig Herumprogrammieren, fiel mir die Kategorie-XML ein
http://www.domain.de/category-sitemap.xml, die vollauf genügt, für meine Zwecke.
Vielleicht aber bringt mein Codeschnipsel, jemand anderen Weiter. Hier wird folgendes aufgelistet
/cat1
/cat1/cat2
/cat1/cat2/cat3
/cat1/cat2/cat3/cat4
...
Code
$categories = get_terms( 'category', array(
'orderby' => 'count',
'hide_empty' => 0,
) );
foreach ($categories as $obj => $kat) {
$childSlug= $kat->slug;
$firstParentID = intval($kat->parent);
if ($firstParentID != 0) {
$firstParentData = get_term_by('id', $firstParentID, 'category');
$firstParentSlug = $firstParentData->slug;
$secondParentID = intval($firstParentData->parent);
if ($secondParentID != 0) {
$secondParentData = get_term_by('id', $secondParentID, 'category');
$secondParentSlug = $secondParentData->slug;
$thirdParentID = intval($secondParentData->parent);
if ($thirdParentID != 0) {
$thirdParentData = get_term_by('id', $thirdParentID, 'category');
$thirdParentSlug = $thirdParentData->slug;
$thirdParentID = intval($thirdParentData->parent);
}
}
}
$childSlug = (!empty($childSlug)?'/' . $childSlug:'');
$firstParentSlug = (!empty($firstParentSlug)?'/' . $firstParentSlug:'');
$secondParentSlug = (!empty($secondParentSlug)?'/' . $secondParentSlug:'');
$thirdParentSlug = (!empty($thirdParentSlug)?'/' . $thirdParentSlug:'');
echo '<br>';
echo $thirdParentSlug . $secondParentSlug . $firstParentSlug . $childSlug;
unset ($childSlug, $firstParentSlug, $secondParentSlug, $thirdParentSlug);
}
Alles anzeigen