Die WordPress-Funktion the_category bietet keinen Ausschluss-Parameter. Das tut sie
function exclude_post_categories($excl='', $spacer=' ') {
$categories = get_the_category(get_the_ID());
if (!empty($categories)) {
$exclude = $excl;
$exclude = explode(",", $exclude);
$thecount = count(get_the_category()) - count($exclude);
foreach ($categories as $cat) {
$html = '';
if (!in_array($cat->cat_ID, $exclude)) {
$html .= '<a href="' . get_category_link($cat->cat_ID) . '" ';
$html .= 'title="' . $cat->cat_name . '">' . $cat->cat_name . '</a>';
if ($thecount > 0) {
$html .= $spacer;
}
$thecount--;
echo $html;
}
}
}
}
Außerdem können Sie, solange Sie das haben, die Ausgabe nach Belieben ändern, was schön ist.
Die Anwendung ist wie folgt:
<?php exclude_post_categories("4"); ?>
Dies würde alle Kategorien auflisten, mit Ausnahme derjenigen mit der ID 4.
Hallo!
Ich verwende eine sehr ähnliche Funktion.
Sie sieht ungefähr so aus…
Das Ersetzen von > und < und die Anführungszeichen haben die Funktion leicht durcheinander gebracht, aber Sie verstehen, worum es geht.
Ich denke, es verwendet eine etwas einfachere Methode, um die Trennzeichen hinzuzufügen, und erlaubt auch die Angabe einer ID eines anderen Beitrags.
Vielleicht ist es nützlich…
Vielleicht auch nicht :)
Es gibt ein Problem mit diesem Skript. Nehmen wir an, ich habe 100 Kategorien auf der Website… und schließe 50 Kategorien mit der obigen Funktion aus. Was passiert, wenn ein Beitrag nur 5 Kategorien hat?
Nun, die Zählung wäre 5-50 = -45. Das ruiniert den "Spacer".
Danke!
Sie könnten auch den
the_categoryFilter oder denget_the_categoriesFilter wie folgt verwenden:Wenn Sie nach Ihrem letzten Element kein Komma wünschen, verwenden Sie
if ($thecount > 1) {
anstelle von
if ($thecount > 0) {
Danke für dieses tolle Tutorial. Es hat mir sehr geholfen. Ich habe mich auch gefragt, wie man verschachtelte (mehrstufige) Kategorien erstellt. Ich habe dieses Tutorial gefunden, bin mir aber nicht sicher, ob es der beste Weg ist, dies zu tun
https://www.templatemonster.com/help/how-to-create-nested-multi-level-categories.html
Was ist Ihre Meinung dazu?