Více barevný název kategorie

Štítky: 

Zvolené téma obsahuje celkem 11 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel  donkooler a poslední změna je stará 8 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 12 příspěvků - 1. až 12. (z celkem 12)
  • Autor
    Příspěvky
  • #24538

    donkooler
    Participant

    Dobrý den, zatím jsem dokázal pouze změnit barvu názvu jen jednou barvou a proto se sem obracím na nějakého experta jak těch barev udělat do jednoho názvu víc.

    Jednalo by se přesně o 3 barvy ve slově kategorie DIY.

    .category-rady h1 a {color: #009cff;} << toto používám pro jednobarevný názvy

    Nevím zda to někdo dokáže ale pokud jo, budu moc vděčnej.

    #24555

    sjiamnocna
    Participant
    Web

    Dobrý den,
    CSS styly bohužel nedokáží stylovat třeba každé písmeno, či každé druhé. Co by bylo potřeba, rozdělit písmena do celků, které se potom nastylují, můžete použít přímo PHP šablonu (funkce str_split rozřeže text na písmena), nebo použít JavaScript (innerHTML, .split(”)):

    <div class="category-rady">
     <h1><span class="red">D</span><span class="green">I</span><span class="blue">Y</span></h1>
    </div>
    
    .category-rady h1 .red{
    color:rgb(255,0,0);
    }
    .category-rady h1 .green{
    color:rgb(0,255,0);
    }
    .category-rady h1 .blue{
    color:rgb(0,0,255);
    }

    Osobně bych nadpis 1. úrovně H1 nepoužíval na název kategorie. H1 slouží k použití jako nadpis celého webu, a poté by se to mělo stupňovat podle důležitosti. Mimo to, na stránce by měl být pouze jeden H1 nadpis. Pro kategorii bych použil nejvýše H3 (ale je to můj názor samozřejmě)

    #24614

    donkooler
    Participant

    Jenže ty kódy co jste poslal by na funkci <?php the_category(‘ ‘); ?> nešla a na to to potřebuji. Ale jinak funkci str_split určitě zkusím, ale nemám sní žádný zkušenosti, tak kdyby jste mi to nějak pomohl vyřešit byl bych moc vděčnej.

    Promiňtě ale za tak pozdní odpoveď a moc vám děkuji za odpoveď sjiamnocna. :)

    #24615

    sjiamnocna
    Participant
    Web

    POužívání filtrů je bezpečné ;)

    get_the_archive_title snad je to, co hledáte:

    add_filter('get_the_archive_title','myfunc_cat');
    function myfunc_cat($title){
    
    if ($title !== 'DIY') return;
    
    $ret = str_split($title);
    $title = '';
    
    $color = array(
    array (255,0,0),
    array (0,255,0),
    array (0,0,255)
    )
    if(count($ret) > 1) for ( $i = 0; $i < count($ret); $i++){
    
    $title .= '<span style="' . ((isset($color[$i]) ? 'rgb(' . implode( ', ', $color[ $i ]) . ')' : '') . '">' . $ret[$i] . '</span>';
    
    }
    
    }

    pro the_category to bude obdobné, jen trochu složitější, protože tam jsou všechny přidané kategorie:

    http://pcunleashed.com/wordpress/filter-wordpress-categories-when-using-the_category/

    add_filter('the_category', 'cats_filter');
    
    function cats_filter( $cats ){
    //...
    }
    #24624

    donkooler
    Participant

    Právě jsem se přesvědčil jak jsem stále neschopnej. :( Mohl byste mi prosím napsat podrobnej návod kam, co a jak prosím?

    Tak aby to fungovalo pro the_category tedy :/

    #24625

    sjiamnocna
    Participant
    Web

    No, nejsem si jistý, protože to na webu moc nepoužívám, ale:

    
    function my_cats($cats, $sep){
    
    str_ireplace('DIY','<span style="color:red;">D</span><span style="color:green;">I</span><span style="color:blue;">Y</span>',$cats);
    
    }
    add_filter('the_category','my_cats', 10, 2);
    

    zkuste dát do functions.php

    #24626

    donkooler
    Participant

    když dám toto do functions.php, tak se mi všechny názvy kateroií přestanou zobrazovat :/

    #24631

    sjiamnocna
    Participant
    Web

    Tuším, že tam musí být ještě return, pardon…

    
    function my_cats($cats){
    
    return str_ireplace('DIY','<span style="color:red;">D</span><span style="color:green;">I</span><span style="color:blue;">Y</span>',$cats);
    
    }
    add_filter('the_category','my_cats');
    

    ale vůbec nevím, jestli to bude fungovat ;)

    #24632

    donkooler
    Participant

    Super funguje to, ale před DIY se zobrazilo ještě “DIY/” rel=”category tag”>” viz fotka :(

    Attachments:
    #24634

    sjiamnocna
    Participant
    Web

    Dobře, tak naposled zkusím, jak už jsem dneska otupělý.. :)

    
    function my_cats($cats){
    
    return str_ireplace('>DIY<','><span style="color:red;">D</span><span style="color:green;">I</span><span style="color:blue;">Y</span><',$cats);
    
    }
    add_filter('the_category','my_cats');
    

    to by snad mohlo zabrat, pokud ne, smažte celý ten kód a vykašlete se na to ;)

    #24635

    donkooler
    Participant

    a ještě k tomu URL na kategorii je “/category/<span style=” :/ a nešlo by kdyžtak jenom v css udělat podobně jako jsem udělal já na jinou barvu

    .category-rady h1 a {color: #009cff;}

    a akorát místo jiný barvy tak aby ten název kategorie byl překrytej obrázkem? :) ale moc děkuju sjiamnocna takovou pomoc jsem nečekal

    #24636

    donkooler
    Participant

    Ou super funguje to !!! děkuji moc, jsem vám moc vděčnej :)

Aktuálně je na stránce zobrazeno 12 příspěvků - 1. až 12. (z celkem 12)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti