Ondersteuning » Code oplossingen gezocht » Meerdere categoriën in de loop

  • Hey allen,

    Op mijn site was ik bezig om meerde categorieën te laden op de index maar niet alle. Na een tijd knutselen kwam ik op deze pagina uit http://codex.wordpress.org/Template_Tags/query_posts maar nog snap ik het niet. Ik heb nu dit:

    <?php while ($new_query->have_posts()) : $new_query->the_post(); ?>

    en dan toont WP alle post in “uncategorized” maar ik wil ook de categorie “webcam” tonen en dus maak ik de code als volgt:

    <?php while ($query = new WP_Query( array( ‘category_name’ => ‘uncategorized,webcam’ ) ); ?>

    Zo had ik het begrepen van eerder genoemde pagina maar dat werkt niet, dan laat WP helemaal niets meer zien.

    Kan iemand me hierbij helpen? Welke code kan ik daar gebruiken?

    Groeten en alvast bedankt!

3 reacties aan het bekijken - 1 tot 3 (van in totaal 3)
  • Als het om de voorpagina gaat wil je helemaal geen nieuwe query maken, maar alleen maar de bestaande query wijzigen.
    Dit kun je doen door een hook aan te maken voor pre_get_posts. Hiervoor plaats je code in de functions.php in je thema.
    https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts
    De query wijzig je door in te stellen dat hij bepaalde categorieen niet moet tonen. Er is een optie als category_not_in.

    Thread starter Granis

    (@granis)

    Hey Marcel,

    Bedankt voor je antwoord. Alleen wordt dit me te moeilijk. Ik snap er niets van. Welke code moet ik precies in de functions plaatsen om dit goed te krijgen?

    Groeten.

    Zoek de ID van je categorieën, dit doe je door in het scherm waar je de categorieën benoemd ze aan te tikken: de url eindigt met het ID (nummer).

    Dan in je functions.php van je thema, helemaal aan het einde net voor de laatste regel met ?> (ik doe er meteen de comment bij, dan weet je later nog waarom je deze code hebt toegevoegd):

    /**
     * Home: weergeven categorieen uncategorized en webcam, toegevoegd dec 2015
     */
    function home_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', 'id1, id2'); } } 
    
    add_action( 'pre_get_posts', 'home_category' );

    Een waarschuwing is op zijn plaats. Als je deze code op een verkeerde plek in je functions.php zet, slaat de website zowel voor het publiek als je wordpress-achterkant op ‘wit’: je ziet niets meer. Doe dit alleen als je toegang hebt via FTP tot je bestanden. Advies is om het huidige, functionerende functions.php te kopieren (hernoem het als functions-oud.php, en breng de wijziging aan het het bestand functions.php. Gaat het dan fout, dan overschrijf je de code weer naar oorspronkelijk. ===> veilige aanpak!

    Succes!

    Lianne

3 reacties aan het bekijken - 1 tot 3 (van in totaal 3)
  • Het onderwerp ‘Meerdere categoriën in de loop’ is gesloten voor nieuwe reacties.