Wsparcie » Używanie i konfiguracja WordPressa » WordPress i PHP – wybrane wpisy w panelu nawigacyjnym

  • Rozwiązano dzikoo

    (@dzikoo)


    witam

    Niedawno rozpoczalem przygode z wordpressem. Po zapoznaniu sie z panelem administracyjnym, hierarchia wpisow, kategorii itd itp, pojawilo sie klika problemow. Czesc z nich juz rozwiazalem, ale z jednym nie potrafie sobie dac rady, ani znalezc rozwiazania na innych forach.

    Do rzeczy.

    Do moich testow z wordpressem, zaladowalem sobie skorke Splash

    http://www.dynamicwp.net/demo/?preview_theme=Splash

    Dodalem na swojej stronie nowe kategorie w naglowku
    Mamy teraz:
    -główna
    -o mnie
    -oferta (menu z trzema podkategoriami)
    -podkat 1
    -podkat 2
    -podkat 3
    -portfolio
    -kontakt

    http://www.deny.kwachu.pl/wordpress.jpg

    Problem tkwi w ponizszym panelu nawigacyjnym. Chce aby panel wyswietlal mi wpisy z podkat. 1, 2 i 3 z kategorii Oferta. Natomiast obecnie panel wyswietla mi ostatnie wpisy czyli wpis z Kontakt, Portfolio i Oferta-podkat 3.

    kod z header.php regulujacy panel nawigacyjny to:

    `<?php
    $topfeatured = new WP_Query();
    $topfeatured->query(’showposts=3′);
    if($topfeatured->have_posts()) : while($topfeatured->have_posts()): $topfeatured->the_post();`

    w 'showposts=3′ moge zmienic ilosc wyswietlanych wpisow, ale caly czas panel bedzie wyswietlal od konca czyli od kategorii Kontakt.

    Staram sie uczyc PHP, wyszukuje na forach rozwiazania roznych problemow, czesto sie udaje ale w tym przypadku poprostu stanalem w miejscu.

    Prosze o podpowiedz jak to rozwiazac.

Viewing 2 replies - 1 through 2 (of 2 total)
  • musisz zmienić zapytanie:
    <?php $temp_query = $wp_query; query_posts('cat=??&posts_per_page=??&orderby=??&order=??'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <a href="<?php echo get_permalink() ?>"><?php the_title(); ?><?php the_date(); echo "<br />"; ?> <?php the_excerpt(); ?></a><br /> <?php endwhile; endif; ?> <?php $wp_query = $temp_query; ?>
    Możliwe modyfikacje:
    numberposts=?? – wartość -1 – pokaż wszystkie, 10 – liczba wyświetlanych wpisów.
    order=?? – wartość ASC – rosnąco, DESC – malejąco.
    orderby=?? – wartości:
    ‘post_title’ – sortowanie alfabetyczne po nazwie wpisu.
    ‘post_date’ – sortowanie po dacie utworzenia.
    ‘post_modified’ – sortowanie po ostatniej modyfikacji.
    ‘ID’ – sortowanie po id wpisu.
    ‘post_author’ – sortowanie po id autora.
    ‘post_name’ – sortowanie po znaczniku wpisu.
    category= – numer kategori do wyświetlenia

    dzikoo, a czy w każdej z podkategorii Oferty będzie tylko jeden wpis czy może być więcej? Jeśli może być ich więcej, to chcesz, żeby na stronie głównej wyświetlały się wszystkie wpisy z danej podkategorii czy tylko pierwszy z każdej?

    W każdy razie jesteś na dobrym tropie. Faktycznie, trzeba zmienić linię $topfeatured->query(’showposts=3′);

    Podam Ci najprostszą formę, żebyś zaskoczył, o co chodzi. Będzie to podanie wprost identyfikatorów kategorii, z których mają być wybierane wpisy, czyli linię:

    $topfeatured->query('showposts=3');

    zamieniamy na

    $topfeatured->query('cat=5,6');
    gdzie w miejscu 5, 6, … należy wstawić identyfikatory pożądanych (pod)kategorii. Wiesz, jak odczytać te identyfikatory w WP?

    Bardziej zaawansowane przykłady budowania query znajdziesz tutaj:
    http://codex.wordpress.org/Function_Reference/query_posts

Viewing 2 replies - 1 through 2 (of 2 total)
  • Temat ‘WordPress i PHP – wybrane wpisy w panelu nawigacyjnym’ jest zamknięty na nowe odpowiedzi.