it-swarm-eu.dev

Zobrazit různé počty příspěvků na stránku v závislosti na kontextu (např. Domovská stránka, vyhledávání, archiv)

V Nastavení čtení je možné nastavit počet zobrazených příspěvků, které ovlivňují počet příspěvků zobrazených ve všech kontextech. Rádi bychom vám místo toho ukázali určitý počet příspěvků na domovské stránce a jiný počet příspěvků na stránkách, jako je archiv, výsledky vyhledávání atd.

reading-settings-blog-pages-show-at-most-per-page

Uvědomuji si, že bych to mohl udělat úpravou souborů motivů a změnou parametrů dotazu, ale raději bych měl snadnější přístup na stránku s jednoduchým nastavením. Před dlouhou dobou jsem narazil na plugin, který to udělal, ale nemohu ho najít.

Ví někdo o plugin udělat, nebo dokonce funkci jsem mohl dát do funkce.php dosáhnout stejné věci?

21
Doug

Věřím, že nejlepším způsobem, jak to udělat v pluginu, je spustit následující ukázkovou funkci, když se vyskytne háček akce pre_get_posts. Objekt $wp_query je k dispozici, což znamená, že vaše podmíněné tagy jsou k dispozici, ale než WordPress dostane příspěvky, což znamená, že měníte dotaz vars před spuštěním prvního dotazu, spíše než přidávání druhého dotazu, jako když je dotaz_posts () použit v soubor motivu.

function custom_posts_per_page($query) {
    if (is_home()) {
        $query->set('posts_per_page', 8);
    }
    if (is_search()) {
        $query->set('posts_per_page', -1);
    }
    if (is_archive()) {
        $query->set('posts_per_page', 25);
    } //endif
} //function

//this adds the function above to the 'pre_get_posts' action     
add_action('pre_get_posts', 'custom_posts_per_page');
23
kevtrout

můžete vytvořit vlastní smyčku pomocí dotazu_použby a určit počet příspěvků pomocí souboru is_home, is_archive atd.

je to jednoduché prohlášení s dotazem

0
chrismccoy