Wsparcie » Zaawansowane » Segregowanie wpisów po kategorii

  • Cześć 🙂
    mam małe pytanie.
    Aktualnie używam motywu: hueman – mocno przerobionego przeze mnie. W oryginalnej wersji jest możliwość wyświetlania wpisów na stronie głównej w jednej kolumnie z thumbnailem po lewej lub w dwóch kolumnach z thumbnailem wyśrodkowanym – używam pierwszej opcji i z tym wiąże się dalsza część posta.

    Czy jest możliwość segregacja tych wpisów kategoriami?
    O co mi dokładnie chodzi?
    LisiePismo
    To jest cała strona, wszystkie wpisy z wszystkich kategorii wyświetlają się w kolejności datowej. Chciałbym zrobić, żeby na początku wyświetlała się jedna kategoria z tytułem (dwa, trzy wpisy z niej) + przycisk więcej wpisów, kolejna kategoria to samo i tak dalej.

    Jest to możliwe do zrobienia?
    Adres: lisiepismo.pl

Viewing 12 replies - 1 through 12 (of 12 total)
  • Jest to możliwe do zrobienia.

    Thread Starter malinowyrogal

    (@malinowyrogal)

    Źle zadałem pytanie.
    W jaki sposób można to zrobić?
    Z php nie stoję zbyt dobrze, chociaż nie ukrywam, głupi też nie jestem.

    Motywu nie znam, ale musisz znaleźć plik odpowiedzialny za wyswietlanie tego na głownej, napewno bedzie znajdował się w folderze \hueman\parts\featured.php w 10 lini masz określoną kategorię. Pozdro

    Thread Starter malinowyrogal

    (@malinowyrogal)

    napewno bedzie znajdował się w folderze \hueman\parts\featured.php w 10 lini masz określoną kategorię. Pozdro

    Nie ma folderu „parts” 🙂

    jak pobrałem ten szablon mam taki katalog, jeżeli nie masz szukaj samego pliku featured.php

    Thread Starter malinowyrogal

    (@malinowyrogal)

    Bardzo możliwe, używam starszej wersji – nie aktualizuje go, za dużo rzeczy zmieniłem w plikach.

    Thread Starter malinowyrogal

    (@malinowyrogal)

    Jedyne co udało mi się zrobić to wyświetlić jedną – konkretne ID – kategorię na stronie głównej.

    function my_home_category( $query ) { 
    if ( $query->is_home() && $query->is_main_query() ) 
    { $query->set( 'cat', 'ID KATEGORII'); } 
    } 
    add_action( 'pre_get_posts', 'my_home_category' );

    I to do function.php

    w function to raczej tego nie rób, jest u ciebie w szablonie plik odpowiedzialny akurat za wyświetlanie strony głównej z postami i takiego pliku szukaj, tam bedziesz miał pętlę od listingu postów które wyswietlają na głównej. Przynajmniej od tego zacząłbym poszukiwania i ewentualne modyfikacje.

    Thread Starter malinowyrogal

    (@malinowyrogal)

    featured.php jest bardziej przeznaczony na slider, którego nie używam.
    Jest content, content-featured i content-standard, ale tam nie uda mi się tego zrobić – tak mi się wydaje.
    Jak dla mnie jedyną opcją jest function.php + co nieco mogę zmienić wygląd wyświetlania właśnie w content-standard.php
    Znaleźć zmienną od kategorii i od ilości wpisów, i dodać do function. Jak na razie udało mi się wyświetlić tylko jedną, określoną kategorię, męczę się dalej.

    Sposób w jaki chcesz to zrobić w functions.php, wymaga pobrania wszystkich postów znajdujących się w bazie, bo nie można pobrać np. po dwa wpisy z każdej kategorii (przynajmniej nie za jednym razem w WP) – wynik trzeba posortować według kategorii i daty publikacji. Później w php liczyć ile wpisów wyświetliliśmy dla danej kategorii, resztę pomijać aż dojedziemy kolejnej kategorii albo do końca.

    Tylko pobieranie wszystkich postów, jeżeli masz ich bardzo dużo, może okazać się strasznie zasobożerne.

    Inne możliwości, o których myślałem, to albo pobranie najpierw kategorii i do nich pasujących postów, albo custom query, coś na tej zasadzie:
    http://www.developerfiles.com/get-top-n-rows-of-each-group-in-mysql/

    Ten ostatni sposób link wydaje się ciekawszą opcją, bo pobierasz z bazy dokładnie to czego potrzebujesz w jednym zapytaniu, jednak później miałbyś spory problem aby to wszystko zgrać z WordPressem.

    Więc, tutaj są dwa „przepisy”, jak ogarnąć ten drugi sposób:

    http://stackoverflow.com/questions/3264323/how-do-i-get-only-1-post-from-each-category-in-wordpress
    https://code.tutsplus.com/tutorials/display-the-most-recent-post-in-each-category–cms-22677

    • Ta odpowiedź została zmodyfikowana 6 years, 11 months temu przez ziemekpr0.

    PS. Została jeszcze kwestia duplikatów, czyli wpisów przypisanych do kilku kategorii. 🙂

    Thread Starter malinowyrogal

    (@malinowyrogal)

    PS. Została jeszcze kwestia duplikatów, czyli wpisów przypisanych do kilku kategorii.

    Takich wpisów nie ma, zawsze będzie to tylko jedna kategoria 🙂

    Dziękuję za te linki, o to mi chodziło.

Viewing 12 replies - 1 through 12 (of 12 total)
  • Temat ‘Segregowanie wpisów po kategorii’ jest zamknięty na nowe odpowiedzi.