Úvodní stránka › Fórum podpory WordPressu › Šablony, CSS (zobrazení webu) › Zobrazení subkategorií v kategoriích
Zvolené téma obsahuje celkem 8 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel Mike1 a poslední změna je stará 8 let, 12 měsíců.
-
AutorPříspěvky
-
23. dubna 2015 (21:50) #22925
Ahoj,
je toho sice celý web, prohledal jsem google a našel jsem různé kódy, které by měly fungovat. Bohužel nikde není napsané, kde se ten kód má umístit, popřípadě je napsané, že kód lze umístit kdekoliv. Snažím se asi 1,5 hodiny o funkčnost a bohužel už nevím jak dál. Můj web je . Jedná se mi o to, aby vždy byly v kategoriích zobrazeny podkategorie. (nejlépe i s obrázky, nejenom prostý text) Zatím jsem ve stádiu návrhu, jelikož mám funkční stránku založenou na PHP Fusion a chci přejít na wordpress, je k dispozici jen omezené množství článků. Vycházejme tedy z kategorie “Pokémoni”. Zde bych chtěl zobrazit články a rubriky, které přímo spadají pod tuto kategorii. Pokud by existoval nějaký plugin, nebo opravdu stačí ten kód zkopírovat do nějakého souboru, udělám to, ale musím se dozvědět, do kterého. :-DDěkuji Vám za odpovědi,
Mike130. dubna 2015 (14:53) #23038Dobrý den, potřeboval jsem výpis příspěvků podle podkategorií – výsledek je zde:
<?php //získá podkategorie kategorie obsah $catids=array_reverse(get_child_cats('obsah','term_id',array(2,8))); //vyloučí kategorie, podle ID $maincategs=array_diff(array(7,16,6,5),$catids); $childcategs=array_merge($maincategs,$catids); foreach($childcategs as $cat){ echo'<div class="category cat-'.$cat.'">'; echo '<h3 class="cattitle">'.get_cat_name($cat).'</h3>'; echo '<h5 class="catdesc">'.category_description($cat).'</h5>'; $query[$cat] = new WP_Query(array('cat'=>$cat,'order'=>'asc')); echo'<ul class="category-'.$cat.'">'; while ( $query[$cat]->have_posts() ) { $query[$cat]->the_post(); echo '<li><a href="'.get_the_permalink().'" title="Číst více">' . get_the_title() . '</a></li>'; } echo'</ul>'; echo'</div>'; wp_reset_postdata(); } }else{ $idObj = get_category_by_slug('obsah'); $uri=get_category_link($idObj->term_id); //přesměrování na hromadný výpis namísto jednotlivých podkategorií //toto jen pro moje účely, můžete celý else vymazat header("Location: $uri"); } ?>
Toto přidejte do souboru archive.php
30. dubna 2015 (22:40) #23040Dobrý den,
děkuji za odpověď. Zkusil jsem to dát do souboru archive.php, ale nějak mi to nefunguje. když kliknu tady: kategorie pokémoni, zobrazí se opět všechny články a bohužel né podkategorie. Kód archive.php je teď následovný:<?php get_header(); ?> <?php // Get Theme Options from Database $theme_options = dynamicnews_theme_options(); ?> <div id="wrap" class="container clearfix"> <section id="content" class="primary" role="main"> <h2 id="date-title" class="archive-title"> <?php // Display Archive Title if ( is_date() ) : printf( __( 'Archiv článků: %s', 'dynamicnewslite' ), '<span>' . get_the_date( _x( 'F Y', 'date format of monthly archives', 'dynamicnewslite' ) ) . '</span>' ); else : _e( 'Archiv', 'dynamicnewslite' ); endif; ?> </h2> <?php if (have_posts()) : while (have_posts()) : the_post(); get_template_part( 'content', $theme_options['posts_length'] ); endwhile; dynamicnews_display_pagination(); endif; ?> </section> <?php get_sidebar(); ?> </div> <?php get_footer(); ?> <?php //získá podkategorie kategorie obsah $catids=array_reverse(get_child_cats('obsah','term_id',array(2,8))); //vyloučí kategorie, podle ID $maincategs=array_diff(array(7,16,6,5),$catids); $childcategs=array_merge($maincategs,$catids); foreach($childcategs as $cat){ echo'<div class="category cat-'.$cat.'">'; echo '<h3 class="cattitle">'.get_cat_name($cat).'</h3>'; echo '<h5 class="catdesc">'.category_description($cat).'</h5>'; $query[$cat] = new WP_Query(array('cat'=>$cat,'order'=>'asc')); echo'<ul class="category-'.$cat.'">'; while ( $query[$cat]->have_posts() ) { $query[$cat]->the_post(); echo '<li><a href="'.get_the_permalink().'" title="Číst více">' . get_the_title() . '</a></li>'; } echo'</ul>'; echo'</div>'; wp_reset_postdata(); } }else{ $idObj = get_category_by_slug('obsah'); $uri=get_category_link($idObj->term_id); //přesměrování na hromadný výpis namísto jednotlivých podkategorií //toto jen pro moje účely, můžete celý else vymazat header("Location: $uri"); } ?>
1. května 2015 (11:07) #230451. Za funkcí get_footer() se nic nedává – vše za ní je většinou skryto, protože se bude vyskytovat mimo stránku
2. Nemůžete zkopírovat vše, je potřeba některé věci poupravit
Vy chcete mít obrázky kategorií, nebo výpis článků z každé kategorie (možná jsem to špatně pochopil) ?
1. května 2015 (11:30) #23047Já bych chtěl, aby se mi v kategoriích zobrazovaly podkategorie a články, které pod danou kategorii přímo spadají. Jedná se tedy o to, že v sekci Pokémoni jsou podkategorie Pokémoní podstaty, Strava (ovoce), Pokémoní útoky. Toto jsou podkategorie. V sekci (kategorii) Pokémoni “nechci” zobrazit články těchto třech podkategorií. (tzn. např. u podkategorie pokémonní podstaty nechci v kategorii Pokémoni zobrazit ohnivý typ, elektrický typ,…; to chci zobrazit pouze u kategorie Pokémoní podstaty). Existují však články, které přímo spadají do kategorie Pokémoni, ty bych chtěl zobrazit také, a také pouze jenom v této kategorii. Další věcí jsou pak obrázky, chtěl bych mít možnost, když už se budou zobrazovat v kategoriích podkategorie, mít u každé podkategorie nějaký popis a také obrázkový náhled. (jako je to u klasických článků)
1. května 2015 (12:25) #23048Nainstalujte si plugin Categories images
Potom zrušte všechno, co jste zkopíroval, a zkopírujte si tam toto:
<?php get_header(); ?> <?php // Get Theme Options from Database $theme_options = dynamicnews_theme_options(); ?> <div id="wrap" class="container clearfix"> <section id="content" class="primary" role="main"> <h2 id="date-title" class="archive-title"> <?php // Display Archive Title if ( is_date() ) : printf( __( 'Archiv článků: %s', 'dynamicnewslite' ), '<span>' . get_the_date( _x( 'F Y', 'date format of monthly archives', 'dynamicnewslite' ) ) . '</span>' ); else : _e( 'Archiv', 'dynamicnewslite' ); endif; ?> </h2> <?php if (have_posts()) : while (have_posts()) : the_post(); get_template_part( 'content', $theme_options['posts_length'] ); endwhile; dynamicnews_display_pagination(); endif; $catids=get_categories(array('parent'=>4,'hide_empty'=>0)); echo'<div id="childcats">'; $i=0; while($i<count($catids)){ echo'<div class="subcat">'; echo'<h2>'.$catids[$i]->name.'</h2>'; echo'<img src="'.get_option('catimg_'.$catids[$i]->slug).'"/>'; echo'</div>'; $i++; } echo'</div>'; ?> </section> <?php get_sidebar(); ?> </div> <?php get_footer(); ?>
1. května 2015 (13:18) #23049Tak, plugin jsem nainstaloval. Soubor archive.php jsem aktualizoval, ale bohužel výsledek je ten samý. Akorát když jsem se podíval sem: , tak tam se dole zobrazily opravdu podkategorie (ale pouze texty, bez odkazů a mimo rámeček). Nejsem si jistý, jestli archive.php, je ten správný soubor, kde to kopírovat, ale tomuhle moc nerozumím. :-/
1. května 2015 (15:13) #23051Určitě by to měl být správný soubor, bohužel jsem zaznamenal, že daný plugin se k tomuto nedá použít – potřebujete něco, co umí vypsat obrázek i mimo “smyčku”, což toto není..
Asi by bylo vhodnější toto zadat jako zakázku (víc jak 200kč nedávejte ;) ), na webtrh.cz nebo sem do sekce Práce a zakázky tak si toho všimne více lidí
1. května 2015 (16:11) #23052Taky jsem o tom uvažoval. Nemám nějaké extra velké požadavky, ale rozdělení do podkategorií se mi zdá jako zcela automatické a mělo by být jako možnost již v základu wordpresu a každého takového systému. Jsem opravdu překvapen, že tomu tak není. Tak děkuji za rady, pokud by Vás ještě něco napadlo, klidně piště. Zkusím se zeptat tedy na tu zakázku, jestli by to někdo udělal.
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.