Wie kann man den "Ausdruck" zum oben stehenden Bereich "abgelegt unter" ausblenden / entfernen?
"abgelegt unter" entfernen
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
in deinem theme-ordner, suchst du die datei:
index.php, die musst du anpassenbei mir sieht das so aus:
PHP
Alles anzeigen<?php get_header(); ?> <div id="content" class="textinhalt"> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div class="post" id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2> <!-- by <?php the_author() ?>--> <span class="datum"><!-- by <?php the_author() ?> --> <?php the_time('D. j. F Y') ?> um <?php the_time('H:i') ?> · abgelegt in <?php the_category(', ') ?></span>
da solltest du fündig werden: -
"Abgelegt in ..." Alle Unterkategorien
Hallo,
wäre super wenn mir einer von euch helfen kann.
Ich wüßte gerne wie ich alle Kategorien (inkl. unterkategorien) anzeigen lassen kann.Also z.B.
Abgelegt in Europa - Deutschland - Bayern - Klein Kleckersdorf - Bauer Heinz
Danke für eure Hilfe.
-
link zu deiner seite?
kannst du ein beispiel mit mehr einzelheiten geben?
wo in der seite? unterhalb des artikels?
prinzip:
fuer alle artikel-kategorien und deren unterkategorien:
um die kategorien des artikels zu bekommen:
get_the_category()
http://codex.wordpress.org/Function_Refer…et_the_category
mit diesen kategorien einen foreach-loop erstellen:
um unterkategorien dieser kategorien zu bekommen:
get_categories()
http://codex.wordpress.org/Function_Reference/get_categories
mit dem 'child_of' parameter
die auch in einem foreach-loop ausgeben;
verlinken mit
get_category_link()
http://codex.wordpress.org/Function_Refer…t_category_link -
Hallo!
Danke für deine Antwort, das hat mir deutlich weitergeholfen.
Leider noch nicht ganz zum Ziel gebracht.ZitatAlles anzeigen<?php
$args=array(
'child_of' => 0,
'orderby' => 'id',
'order' => 'ASC');$categories=get_categories($args);
foreach($categories as $category) {
echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
}
?>Durch diesen Code zeigt er mit leider alle Kategorien an die es gibt, egal ob der jeweilige Beitrag untergeordnet ist oder nicht.
Ich vermute der Fehler liegt bei 'child_of' => 0
Dort bin ich mir aber unsicher was ich eintragen soll, bei allen anderen sachen die mir eingefallen sind, kam gar kein ergebnis.
Findest du vielleicht den Fehler?Sorry einen Link kann ich dir nicht geben, das liegt alles nur auf meiner Festplatte mit XAMP.
-
als erstes im code muss das hier sein:
Zitatum die kategorien des artikels zu bekommen:
get_the_category()
der code wird zwei verschachtelte foreach loops haben:
PHP
Alles anzeigen<?php foreach(get_the_category($post->ID) as $cat_id) { echo '<a href="' . get_category_link( $cat_id ) . '" title="' . sprintf( __( "View all posts in %s" ), get_category($cat_id)->name ) . '" ' . '>' . get_category($cat_id)->name.'</a>'; $args=array( 'child_of' => $cat_id, 'orderby' => 'id', 'order' => 'ASC'); $categories=get_categories($args); foreach($categories as $category) { echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>'; } } ?>
(ist jetzt nicht auf doppelte kategorienausgabe geprueft)
(wenn die artikel-kategorie keine child-kategorie hat, wird der innere foreach-loop wahrscheinlich eine php warnung ausgeben.) -
Hallo!
Vielen Dank das du so schnell antwortest.
Bei dem Code bekomme ich leider ein Fehler:Warning: Illegal offset type in isset or empty in D:\homepage\xampp\xampp\htdocs\wordpress\wp-includes\taxonomy.php on line 1159
Der Code in der Linie 1159 aus der taxonomy.php sieht so aus:
PHPif ( $child_of ) { $hierarchy = _get_term_hierarchy($taxonomies[0]); if ( !isset($hierarchy[$child_of]) ) return $empty_array; }Daraufhin habe ich statt
das hier geschrieben:Also habe ich insgesamt nun:
PHP
Alles anzeigen<?php foreach(get_the_category($post->ID) as $cat_id) { echo '<a href="' . get_category_link( $cat_id ) . '">' . get_category($cat_id)->name.'</a>'; echo $cat_id->term_id; $args=array( 'child_of' => $cat_id->term_id, 'orderby' => 'id', 'order' => 'ASC'); $categories=get_categories($args); foreach($categories as $category) { echo $cat_id; echo '<a href="' . get_category_link( $category->term_id) . '">' . $category->name.'</a>'; } } ?>Die erste Kategorie gibt er richtig an. Danach gibt er auch die Categorie ID aus, aber keine weitere Kategorien.
Hast du ne Idee? -
Zitat
Abgelegt in Europa - Deutschland - Bayern - Klein Kleckersdorf - Bauer Heinz
ZitatDie erste Kategorie gibt er richtig an. Danach gibt er auch die Categorie ID aus, aber keine weitere Kategorien.
(die ID gibt der code wahrscheinlich aus, weil es [FONT=Courier New][COLOR=#007700]echo [/COLOR][COLOR=#0000bb]$cat_id[/COLOR][/FONT][COLOR=#007700][FONT=Courier New]; [/FONT]
[COLOR=black]ist anstelle von[/COLOR] [FONT=Courier New][COLOR=blue][COLOR=#007700]echo [/COLOR]$category->term_id;[/COLOR][/FONT])[/COLOR]
rueckfrage: welches ist die kategorie von artikel?
wenn der artikel in der kategorie 'europa' ist, wuerde ich eine ganze reihe von unterkategorien erwarten;
wenn der artikel aber in 'bauer heinz' ist, dann natuerlich keine unterkategorie. -
Hallo,
ich hab mich wohl doof ausgedrückt.
Folgendes will ich erreichen:Der Artikel ist in "Bauer Heinz" abgelegt.
Jetzt soll er anzeigen:Wenn der Artikel in "Bayern" abgelegt ist, dann soll er folgendes anzeigen:
So dass man schnell erkennen kann zu welchen Kategorien der Artikel gehört.
-
ok - das ist ja dann genau anders rum :lol:
PHP
Alles anzeigen<?php foreach(get_the_category($post->ID) as $cat) : $cat_link = array(); do { $cat_link[] = '<a href="' . get_category_link($cat->term_id) . '">' . $cat->name . '</a>'; if($cat->category_parent) { $cat = get_category($cat->category_parent); } else { $cat=''; } } while ($cat); $cat_link = array_reverse($cat_link); echo implode(' - ', $cat_link); endforeach; ?>
also das prinzip:
hole die kategorie(n) vom post;
foreach loop fuer alle kategorien:
a:
erstelle den link zur kategorie und speicher den als array-element;
wenn eine eltern-kategorie vorhanden ist - gehe zu a:
sonst -
drehe die reihenfolge des arrays um;
verwandle den array in eine string mit trennzeichen;
ausgabe;
ende foreach loop.
bei nur einer kategorie im post ist die ausgabe ok; sonst noch einen zeilenumbruch and das echo anhaengen:
echo implode(' - ', $cat_link) . '<br/>';
http://php.net/manual/en/control-structures.do.while.php -
Super!
Vielen Dank.
Jetzt klappt es genau so wie ich es mir gewünscht habe.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!