Ondersteuning » Algemeen WordPress » Zoekfunctie werkt niet meer na kleine verandering in index.php

  • Site: http://www.vmtweewielers.nl/2012

    In index.php heb ik dit veranderd

    <?php if (have_posts()) : ?>
    		<?php while (have_posts()) : the_post(); ?>
    			<div <?php post_class() ?> id="post-<?php the_ID(); ?>">

    in dit

    <?php if (query_posts( 'cat=26' )) : ?>
    		<?php while (have_posts()) : the_post(); ?>
    			<div <?php post_class() ?> id="post-<?php the_ID(); ?>">

    om te zorgen dat er alleen posts uit een bepaalde categorie weergegeven worden en nu werkt de zoekfunctie niet meer. Wanneer ik iets opzoek lijkt het alsof hij op dezelfde pagina blijft, maar de titel (op de browsertab) verandert naar “Search Results”.

    (Ik weet overigens zeker dat de zoekterm die ik gebruik resultaat moet opleveren, aangezien ik die eerder gebruikte en wél results kreeg.

    Kan iemand me een tip geven? Het lijkt me iets kleins, maar ik kom er gewoon niet uit.

11 reacties aan het bekijken - 1 tot 11 (van in totaal 11)
  • Je code is niet echt ok, dit zou moeten werken:

    <?php query_posts( 'cat=26' );
    if (have_posts()) : ?>
    Thread starter marcelvanm

    (@marcelvanm)

    Thanks donutz voor de pointer. Ik heb nu dit

    <?php if (query_posts( 'cat=26' )) : ?>

    veranderd in dit

    <?php query_posts( 'cat=26' );
    if (have_posts()) : ?>

    maar het probleem met de zoekfunctie blijft bestaan. Er gebeurt wel iets meer (denkt langer na bij het laden van de pagina).

    Andere tips?

    Mag ik even vragen in welk .php bestand je die aanpassing doorvoert?

    Thread starter marcelvanm

    (@marcelvanm)

    In index.php

    Ja sorry, de titel goed lezen kan nooit kwaad 🙂 Ik zou zeggen, stap af van de query_posts techniek en gebruik pre_get_posts. Met volgend voorbeeld krijg je enkel berichten uit categorie 26 op je home pagina:

    function my_homepage_set_category( $query ) {
        if ( $query->is_home ) {
            $query->set( 'cat', '26' );
        }
    }
    add_action( 'pre_get_posts', 'my_homepage_set_category' );

    http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

    Thread starter marcelvanm

    (@marcelvanm)

    Moet ik dat op de plek van de eerdere wijziging zetten?

    Neen, dat verander je terug naar het originele <?php if (have_posts()) : ?>, de code van hierboven gooi je in functions.php

    Thread starter marcelvanm

    (@marcelvanm)

    Oke, maar dat verandert denk ik het probleem met de zoekfunctie niet, denk je? Of wordt alles echt met slechte syntax veroorzaakt?

    Je gaf aan dat het probleem ontstond door de wijziging, dus als het daar effectief aan ligt, zal je het snel weten 😉

    Thread starter marcelvanm

    (@marcelvanm)

    Ik ga het morgenochtend wel ff proberen, thanks!

    Thread starter marcelvanm

    (@marcelvanm)

    Is er een bepaalde plek waar ik de functie binnen function.php moet neerzetten? Ik heb het geprobeerd, maar kreeg een syntax error (unexpected Tstring).

11 reacties aan het bekijken - 1 tot 11 (van in totaal 11)
  • Het onderwerp ‘Zoekfunctie werkt niet meer na kleine verandering in index.php’ is gesloten voor nieuwe reacties.