Avatar billede loi-b Nybegynder
13. april 2010 - 10:00 Der er 13 kommentarer

CSS: Vis valgt fane i Wordpress-tema (Smells Like Facebook)

Jeg er ved at sætte en blog op i Wordpress (2.9.2). Bloggen har et Facebook-lignende tema  (se link nederst). I temaet vises sider i toppen, der hvor Facebook-logoet normalt er (og notifikationer etc. vises), kategorierne vises i faner ved siden af 'profilbilledet'.
Til mit behov har jeg været nødt til at skifte sider med kategorier, så sider vises i fanerne (og kategorierne slet ikke). Se bloggen på http://benediktebrix.dk

Ved at erstatte <?php wp_list_categories med <?php wp_list_pages( i header.php vises siderne i fanerne i stedet for kategorier, men den valgte fane vises ikke. Med valgte fane mener jeg et farveskift, der indikerer, at man har valgt en bestemt fane.

Koden er inkluderet herunder

<div id="categories">
                <ul>
                    <?php $showcats = abs(intval(get_option("slf_showcats"))); ?>
                    <?php $showcats = ($showcats != 0) ? $showcats : 5; ?>
                    <li class="cat-item<?php echo is_category() ? '' : ' current-cat' ?>"><a href="<?php bloginfo('url') ?>/">All</a></li>
                    <?php wp_list_categories("orderby=count&order=desc&number=$showcats&depth=1&title_li="); ?>
                    <li id="liplus">
                        <a id="plus" href="#" title="More categories.." onclick="showbox(this); return false" class="none"> </a>

                        <div id="hiddencats" style="display: none;">
                            <div id="hiddenleft"><div id="hiddenplus" onclick="hidebox()"> </div></div>
                            <div id="hiddenright">
                                <ul>
                                    <li class="browsecat">Browse more categories</li>
                                    <?php wp_list_categories("orderby=count&order=desc&number=100&offset=$showcats&depth=1&title_li="); ?>
                                </ul>
                            </div>
                        </div>


Jeg har prøvet at ændre følgende i koden, uden held:
categories med pages
cat med page
cats med pages

Jeg tror, det kan have noget at gøre med style.css - den ligger her:
http://benediktebrix.dk/wp-content/themes/smells-like-facebook/style.css

Smells like Facebook tema:
http://nazieb.com/642/smells-like-facebook-2-5-celebrating-1st-birthday

Er der en venlig sjæl der vil prøve at kigge style.css igennem og se, hvad der skal ændres, før det virker? CSS er ikke lige min stærke side (det er php egentlig heller ikke).
På forhånd tak - og sig endelig til, hvis der skal bruges mere information :)
Avatar billede zips Juniormester
13. april 2010 - 10:16 #1
Som det er nu bruger du current_page_item, men der er ikke nogen regel i din css, så den skal oprettes
Avatar billede loi-b Nybegynder
13. april 2010 - 10:28 #2
Hvordan gør jeg det?
Avatar billede zips Juniormester
13. april 2010 - 10:45 #3
I din css har du nu dette
#categories .current-cat {
    background: #fff;
}

#categories .current-cat a {
    background: #fff;
    color: #000;
}

#categories .current-cat a:hover {
    background: #fff;
    color: #000;
}

Lav en kopi af det og indsæt det, omdøb current-cat til current_page_item og se om ikke det er nok.
Avatar billede loi-b Nybegynder
13. april 2010 - 12:08 #4
Det virker! Mange tak, eneste problem er nu, at "Væg" altid er valgt (første fane)
Avatar billede zips Juniormester
13. april 2010 - 12:12 #5
Ja det kan jeg se, den bruger denne class="cat-item current-cat" måske noget du har sat i den php fil, prøv at rette den.
Avatar billede loi-b Nybegynder
13. april 2010 - 13:08 #6
Den ligger i header.php

<li class="cat-item<?php echo is_category() ? '' : ' current-cat' ?>"><a href="<?php bloginfo('url') ?>/">V&aelig;g</a></li>

Hvad skal det ændres til? (Tak for hjælpen so far!)
Avatar billede loi-b Nybegynder
13. april 2010 - 13:08 #7
Manglede lige en linje, den ser således ud:

<li class="cat-item<?php echo is_category() ? '' : ' current-cat' ?>"><a href="<?php bloginfo('url') ?>/">V&aelig;g</a></li>
<?php wp_list_pages("orderby=count&order=desc&number=$showcats&depth=1&title_li="); ?>
Avatar billede zips Juniormester
13. april 2010 - 13:36 #8
Prøv at rette til dette

<li class="page_item<?php echo is_category() ? '' : ' current_page_item' ?>">
Avatar billede loi-b Nybegynder
13. april 2010 - 13:43 #9
Første fane er stadig valgt :S

- ændret til:
<li class="page_item<?php echo is_category() ? '' : ' current_page_item' ?>"><a href="<?php bloginfo('url') ?>/">V&aelig;g</a></li>
                    <?php wp_list_pages("orderby=count&order=desc&number=$showcats&depth=1&title_li="); ?>
Avatar billede zips Juniormester
13. april 2010 - 17:56 #10
Ja det er ikke så godt, men når jeg se på det nu, så ser det ud til du slet ikke skal have denne linje

<li class="page_item<?php echo is_category() ? '' : ' current_page_item' ?>"><a href="<?php bloginfo('url') ?>/">Væg</a></li>

Prøv og slette den og se om ikke det så virker.
Avatar billede loi-b Nybegynder
13. april 2010 - 18:15 #11
Hvis jeg fjerner den linje, så vises indlæg stadig på forsiden (altså 'væggen vises'). Samtidig vises fanerne for siderne korrekt, og den valgte fane vises også. Men nu er teksten "Væg" jo væk, og er heller ikke en fane længere (går jeg til root på siden, vises væggen dog atter igen) - ved du, hvordan dette kan løses?
Avatar billede zips Juniormester
13. april 2010 - 18:28 #12
Jeg kommer til at installere WP selv så jeg kan prøve da jeg ikke lige kan se løsningen.
Avatar billede loi-b Nybegynder
13. april 2010 - 19:08 #13
Okay.. Jeg tænker lidt, at man måske kunne løse dette ved at lave en side, der viser alle indlæg. Det ser ud som om, det er 'pageofposts' der skal til, men jeg kan dog ikke få det til at virke :s
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester