Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
Pogrupowana lista tagów - Wersja do druku

+- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com)
+-- Dział: Zarządzanie stronami Internetowymi (/Forum-Zarzadzanie-stronami-Internetowymi-358)
+--- Dział: Wordpress (/Forum-Wordpress-360)
+--- Wątek: Pogrupowana lista tagów (/Temat-Pogrupowana-lista-tagow-161399)



Pogrupowana lista tagów - precell - 02-03-2019 23:47

Witam

Wymyśliłem sobie, że na jednej z moich stron wyświetlę sobie na podstronie listę wszystkich tagów na blogu.

W tym celu stworzyłem sobie niestandardowy szablon dla stron i wrzuciłem odpowiedni kod, który wcześniej znalazłem.

Kod PHP:
<?
    $tags 
get_tags();
    if (
$tags) {
        
?><ul class="tags"><?
        
foreach ($tags as $tag) {
            echo 
'<li><a href="' get_tag_link$tag->term_id ) . '" title="' sprintf__"View all posts in %s" ), $tag->name ) . '" ' '>' $tag->name.'</a></li>';
        }
        
?></ul><?
    
}
?>

Sęk w tym, że ten kod wyświetla prostą listę tagów. A chciałbym żeby to wyglądało mniej więcej tak:

[Obrazek: screenshot-1.gif]

Czyli literka, a pod nim lista tagów na daną literkę i w nawiasie liczba wpisów z danym tagiem.

Znajdzie się dobra dusza która przerobi mi powyższy kod? :-)
Niestety jestem php odporny Tongue


RE: Pogrupowana lista tagów - eseles - 30-03-2019 22:38

@[precell]
Moze to Cie jakos naprowadzi w sumie to chyba to Big Grin temat sprzed kilku lat ale raczej nic sie nie zmienilo Tongue
https://stackoverflow.com/questions/11550469/alphabetical-list-index-for-custom-tags-even-if-empty-wordpress


RE: Pogrupowana lista tagów - precell - 30-03-2019 23:06

Widziałem to rozwiązanie, ale go nie wypróbowałem. Dlatego, że to jest kod dla niestandardowych tagów, na szczęście modyfikacja dla standardowych tagów była dość prosta ;-)
Wystarczyło zmienić drugą linijkę, teraz wygląda to tak:
Kod PHP:
<?php $list ''
$tags get_tags();
echo 
'<ul id="portfolio-filter">'
echo
'<li><a href="#all" title="">All</a></li>';
$groups = array();
if( 
$tags && is_array$tags ) ) {
foreach( 
$tags as $tag ) {
$first_letter strtoupper$tag->name[0] );
$groups$first_letter ][] = $tag;}
if( !empty( 
$groups ) ) {
foreach( 
$groups as $letter => $tags ) {
$list .= "\n\t" '<h2>' apply_filters'the_title'$letter ) .'</h2>';
$list .= "\n\t" '<ul>';
foreach( 
$tags as $tag ) {
$lower strtolower($tag->name);
$name str_replace(' '' '$tag->name);
$naam str_replace(' ''-'$lower);
$list .= "\n\t\t" '<li><a href="#'.$naam.'">'.$name.'</a></li>';
}}}}else 
$list .= "\n\t" '<p>Sorry, but no tags were found</p>';print $list;
echo 
"</ul>";
?>
Teraz jeszcze muszę pozmieniać html w kodzie i ostylować w CSS.

Dzięki za motywację :-)

Temat można zamknąć :-)

Edyta:

Jednak kod wymagał grubszej edycji. Teraz po zmianach wygląda tak:

Kod PHP:
<?php $list ''
$tags get_tags();
echo 
'<ul id="tags">'
$groups = array();
if( 
$tags && is_array$tags ) ) {
foreach( 
$tags as $tag ) {
$first_letter strtoupper$tag->name[0] );
$groups$first_letter ][] = $tag;}
if( !empty( 
$groups ) ) {
foreach( 
$groups as $letter => $tags ) {
$list .= "\n\t" '<h2>' apply_filters'the_title'$letter ) .'</h2>';
$list .= "\n\t" '<ul>';
foreach( 
$tags as $tag ) {
$list .= "\n\t\t" '<li><a href="' get_tag_link$tag->term_id ) . '" title="' sprintf__"View all posts in %s" ), $tag->name ) . '" ' '>' $tag->name.'</a></li>';
}}}}else 
$list .= "\n\t" '<p>Sorry, but no tags were found</p>';print $list;
echo 
"</ul>";
?>

Musiałem wywalić z generowanych linków "#" i zmienić slug z liczby mnogiej na pojedynczą.


RE: Pogrupowana lista tagów - precell - 22-04-2019 10:25

Aha temat można zamknąć ;-)
@[Majka]

Ostateczny kod PHP i CSS wrzucę w poniższy temat:
https://zarabiam.com/Temat-Modyfikacja-WordPress-bez-uzycia-wtyczek-156576


Pogrupowana lista tagów - Majka - 22-04-2019 10:32

Wątek zostaje zamknięty, ponieważ moderator uznał że temat został wyczerpany bądź rozwiązany. Jeśli posiadasz nowe pytania prosimy o założenie kolejnego tematu.