Wsparcie » Motywy » [Zylyz theme] problem z paginacją wpisów

  • Rozwiązany sanzoku

    (@sanzoku)


    Witam! Chcę ruszyć z nową wersją bloga kulinarnego na skórce Zylyz [http://www.web2feel.com/zylyz/]. Tam można mieć dwa rodzaje wpisów:

    posty
    przepisy (recipes)

    W tej skórce można ustawić żeby na głównej wyświetlały się albo przepisy albo posty. Ja wybrałem te pierwsze ze względu na charakter bloga. Teraz pojawia się pewien problem. Otóż jak przerzuciłem stare wpisy na przepisy (nie usuwając ich jeszcze) to wszystko działało – znaczy się paginacja. A kiedy dezaktywowałem niepotrzebne posty (nie usunąłem ich jeszcze ze względu na komentarze, które jeszcze muszę przerzucić) i potem chciałem przejrzeć wszystkie przepisy to już nie szło ich obejrzeć, bo wywalało 404 ;/. Kiedy znów je aktywowałem to wszystko działa i wyświetli się tylko tyle stron ile jest postów (czyli np. 5 strona z przepisami już się nie wyświetli, bo nie ma tyle postów)… Widzę zależność ale nie weim na jakiej zasadzie to działa, a przeciż nie będę miał specjalnie włączonych starych, niepotrzebnych wpisów tylko po to, żeby paginacja mi działała poprawnie ;/. Może ktoś ma jakieś popozycje? Jestem zielony w kodzeniu stąd zwracam się z problemem do was. Może jakaś ingerencja w .htaccess? Nie mam pojęcia ;/

Viewing 14 replies - 1 through 14 (of 14 total)
  • Moderator amistad18

    (@amistad18)

    Nie zrozumiałem z czym jest problem. Masz już działającą stronę na nowym szablonie? Utknąłeś na przenosinach czy na czym?

    próbowałem przeinstalować wordpressa bo myślałem, że to coś da. JEndak nic.

    Tutaj jest adres strony http://seoninja.home.pl/widelcem-pisane/ i zobacz co się pojawia po przejściu na drugą stronę przepisów (dodam, że postów jest kilka, co jest powodem dla którego nie można przeskoczyć na drugą i kolejną stronę przepisów…)

    Moderator amistad18

    (@amistad18)

    A ustaw aby się wyświetlały tylko 4 wpisy na stronie głównej … wtedy paginacja działa?

    nic nie dało. Może źle wytłumaczyłem. Chodzi o to, że ilość stron do oglądania (starsze przepisy) jest zależna od tego ile jest postów a nie przepisów ;/. Czyli jak mam raptem kilka postów, które mieszczą się spokojnie na jednej stronie to bez względu na to ile mam przepisów (dajmy na to ~50) to i tak wyświetli się tylko jedna strona, bo na drugiej wyświetli mi się:

    Not Found

    The page you are looking is not here.

    A bez sensu jest dodawać jednocześnie i przepis i wpis, bo nie po to została stworzona ta skórka… Może trzeba jakieś inne sformułowanie w kodzie użyć, żeby brał z przepisów paginację a nie z postów.

    Moderator amistad18

    (@amistad18)

    Jeśli teraz dobrze to rozumiem, to po prostu daje złą ilość stron, więc jak zmienisz że ma wyświetlać 4 wpisy zamiast 8 wpisów na stronie głównej, to ilość stron w paginacji powinna się podwoić, ale strona 1 i 2 powinny działać, kolejne już nie – czy tak faktycznie jest?

    Pokaż też kod pliku index.php/home.php

    Tak, wtedy tak jest. I po prostu nie wiem, gdzie tu jest zależność skoro to dwa rodzaje wpisów, więc one powinny być niezależne od siebie.

    index.php

    <?php get_header(); ?>

    <div id=”casing”>

    <?php include (TEMPLATEPATH . ‚/lib/nivoslider.php’); ?>

    <?php
    if(get_option(‚zyl_home’) == „Recipes”) { ?>
    <?php include (TEMPLATEPATH . ‚/lib/recipehome.php’); ?>
    <?php } else { ?>
    <?php include (TEMPLATEPATH . ‚/lib/homeblog.php’); ?>
    <?php } ?>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>

    Tutaj to chyba nic nie ma… ale wkleję jeszcze zawartość tych dwóch plików, które tutaj wywołuje.

    homeblog.php

    <div id=”content”>

    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

    <div class=”post clearfix” id=”post-<?php the_ID(); ?>”>
    <?php
    if ( has_post_thumbnail() ) { ?>
    „><img class=”postimg” src=”<?php bloginfo(‚stylesheet_directory’); ?>/timthumb.php?src=<?php get_image_url(); ?>&h=200&w=200&zc=1″ alt=””/>
    <?php } else { ?>
    „><img class=”postimg” src=”<?php bloginfo(‚template_directory’); ?>/images/dummy.jpg” alt=”” />
    <?php } ?>
    <div class=”cover”>
    <div class=”title”>
    <h2>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></h2>
    </div>
    <div class=”postmeta”>
    <span class=”author”>Dodał <?php the_author(); ?> </span> <span class=”clock”> <?php the_time(‚M – j – Y’); ?></span> <span class=”comm”><?php comments_popup_link(‚0 komentarzy’, ‚1 komentarz’, ‚% komentarzy’); ?></span>
    </div>
    <div class=”entry”>
    <?php wpe_excerpt(‚wpe_excerptlength_index’, ”); ?>
    <div class=”clear”></div>
    </div>
    </div>
    </div>

    <?php endwhile; ?>

    <div class=”clear”></div>

    <?php getpagenavi(); ?>

    <?php else : ?>
    <h1 class=”title”>Not Found</h1>
    <p>Sorry, but you are looking for something that isn’t here.</p>
    <?php endif; ?>

    </div>

    recipehome.php

    <div id=”content”>

    <?php
    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query(‚post_type=recipes’.’&paged=’.$paged);
    ?>
    <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

    <div class=”post clearfix” id=”post-<?php the_ID(); ?>”>
    <?php
    if ( has_post_thumbnail() ) { ?>
    „><img class=”postimg” src=”<?php bloginfo(‚stylesheet_directory’); ?>/timthumb.php?src=<?php get_image_url(); ?>&h=200&w=200&zc=1″ alt=””/>
    <?php } else { ?>
    „><img class=”postimg” src=”<?php bloginfo(‚template_directory’); ?>/images/dummy.jpg” alt=”” />
    <?php } ?>
    <div class=”cover”>
    <div class=”title”>
    <h2>” rel=”bookmark” title=”Czytaj <?php the_title(); ?>”><?php the_title(); ?></h2>
    </div>
    <div class=”recipemeta”>
    <span class=”cooktime”> Czas: <?php $cooktime=get_post_meta($post->ID, ‚wtf_cooktime’, true); echo $cooktime; ?> minut </span> <span class=”serve”> Dla: <?php $serving=get_post_meta($post->ID, ‚wtf_serving’, true); echo $serving; ?> osób</span>
    </div>
    <div class=”entry”>
    <?php wpe_excerpt(‚wpe_excerptlength_recipe’, ”); ?>
    <div class=”clear”></div>
    </div>
    </div>
    </div>

    <?php endwhile; ?>

    <div class=”clear”></div>

    <?php getpagenavi(); ?>

    <?php $wp_query = null; $wp_query = $temp;?>

    </div>

    Moderator amistad18

    (@amistad18)

    Hmm, ciekawe … zacznijmy od tego że do pliku recipehome.php, w drugiej linijce dodasz ten kod:

    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>

    I do tego znajdź mi jeszcze w pliku functions.php, lub innych do niego includowanych, funkcję getpagenavi()

    Ok, kod wstawiony. Czekam na dalsze instrukcje ^^. A poniżej kod, o który prosiłeś:

    functiom.php

    <div id=”navigation”>
    <?php if(function_exists(‚wp_pagenavi’)) : ?>
    <?php wp_pagenavi() ?>
    <?php else : ?>
    <div class=”alignleft”><?php next_posts_link(__(‚« Older Entries’,’arclite’)) ?></div>
    <div class=”alignright”><?php previous_posts_link(__(‚Newer Entries »’,’arclite’)) ?></div>
    <div class=”clear”></div>
    <?php endif; ?>

    </div>

    o to chodzi, tak?

    Moderator amistad18

    (@amistad18)

    Tak, o to chodzi, jednak nic ciekawego tam nie ma …

    To powinno działać. Ściągnąłem specjalnie szablon, odpaliłem na localhoście, dodałem sobie 6 wpisów, 3 przepisy, i ustawiłem aby wyświetlało 2 wpisy na stronę – domyślna paginacja działa ok. Włączyłem pagenavi, i nadal jest ok, jak na stronie głównej wyświetlają się wpisy, to są 3 strony, jak wyświetlają się przepisy, to są 2 strony – więc to nie jest wina szablonu, i szczerze to nie mam pojęcia co innego mogło by tutaj coś psuć, możesz spróbować od wyłączenia wszystkich pluginów poza pagenavi.

    oczywiście że będzie ok :). a spróbuj w takim razie na odwrót, żeby liczba wpisów była mniejsza od przepisów, bo po tej stronie jest błąd (wg mnie). Daj 3 wpisy i 6 przepisów i ustaw wyświetlanie 3 wpisów na stronę. Czyli wg mojego problemu to 2 strona z przepisami już nie powinna wejść.

    Moderator amistad18

    (@amistad18)

    Faktycznie, jeśli wpisów jest mniej niż przepisów, wtedy WP na każdej kolejnej stronie wywala 404, mimo że zarówno pagenavi wie że tam jest więcej stron do wyświetlenia, to i nawet domyślna paginacja WP wyświetla że są ‚older posts’ …

    Trochę się pobawiłem, i drobne obejście tego …

    1. Utwórz sobie w szablonie nowy plik o nazwie home-page-template.php, wklej tam ten kod:

    <?php
    /*
    Template Name:Homepage
    */
    ?>
    <?php get_header(); ?>
    
    <div id="casing">
    
    <?php include (TEMPLATEPATH . '/lib/nivoslider.php'); ?>	
    
    <?php
    if(get_option('zyl_home') == "Recipes") { ?>
    <?php include (TEMPLATEPATH . '/lib/recipehome.php'); ?>
    <?php } else { ?>
    <?php include (TEMPLATEPATH . '/lib/homeblog.php'); ?>
    <?php } ?>
    
    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>

    2. Utwórz nową stronę, nazwij ja jak chcesz, np. Strona Główna, i ustaw jej własny szablon jako Homepage

    3. W ustawieniach > pisanie > ustaw aby strona główna nie wyświetlała wpisów, tylko tą nowo dodaną stronę.

    4. W pliku lib/recipehome.php, ten poprzedni kod co Ci dałem popraw na:

    <?php $paged = (get_query_var('page')) ? get_query_var('page') : 1; ?>

    a co to da? zrobiłem tak i co? Wyświetla mi się tylko przykładowa strona, którą utworzyłem, a mają się wyświetlać przepisy. Coś gdzieś źle zrobiłem? Faktycznie, paginacja już działa normlanie i za to dziękuję, lecz zależy mi by na stronie głównej wyświetlały się przepisy, bo zamierzamy je często dodawać. Chyba, że w tym szablonie Strony głównej dać jakiś odnośnik, który by wyświetlał przepisy. Da się tak?

    Moderator amistad18

    (@amistad18)

    To naprawia problem. Jeśli chcesz aby się wyświetlały przepisy, to wystarczy w opcjach szablonu ustawić aby wyświetlało przepisy a nie wpisy na stronie głównej – jeżeli wszystko zrobiłeś co pisałem, to powinno działać.

    Racja… źle zrozumiałem Twój wpis i mi nie wyszło. Teraz przeczytałem jeszcze raz i już śmiga jak należy. Wielkie dzięki :)). Uratowałeś mój czas, jaki włożyłem w przerzucanie przepisów ;).

    ps. Niedługo strona będzie dostępna pod domeną http://widelcem-pisane.info, więc zapraszam ;)).

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘[Zylyz theme] problem z paginacją wpisów’ is closed to new replies.