Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    wordpress e la ricerca avanzata

    ciao ragazzi ,

    mi sto avvicinando al mondo di wp , e da programmatore sto cercando di personalizzarmi qualcosa .

    Non riesco a capire come funziona la ricerca !!

    Praticamente vorrei che nel campo ricerca se un utente cerca la frase "calcio sigarette"

    vorrei farmi uscire sia i post dove trova la parola calcio e sia quelli dove trova la parola sigaratte .

    Ho cercato in tutto il sorgente ma non trovo la select .

    Ho installato plugin diversi ma non ho questo risultato !

    Qualche idea ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    in genere per la ricerca si interroga il database in due modi
    o attraverso WHERE LIKE
    O WHERE MATCH AGAINST....la ricerca avanzata consiste se non ho capito male il tuo problema in questo:
    scrivendo in against
    +composti +organici dovrebbe trovarti i record dove è presente sia la parola composti sia la parola organici in tal senso dovrebbe escluderti i risultati con solo composti e con solo organici...
    ripeto dipende che strategia vuoi usare like o match against

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    se invece in against scrivi semplicemente
    composti organici ti cerca o composti o organici o entrambi

  4. #4
    il problema che la select in wp non riesco a trovala !

    Praticamente dovrei fare un OR !

    La struttura del sito è :

    search.html :

    <?php if (have_posts()) : ?>

    <div class="post">
    <h1>Risultati ricerca : <?echo $_GET['s'] ?> </h1>
    </div>


    <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?><div class="clear"></div>



    <ul class="postlist">
    <?php
    $conta_ads = 0;
    ?>
    <?php while (have_posts()) : the_post(); ?>

    query.php

    function have_posts() {
    global $wp_query;

    return $wp_query->have_posts();
    }

    function have_posts() {
    if ( $this->current_post + 1 < $this->post_count ) {
    return true;
    } elseif ( $this->current_post + 1 == $this->post_count && $this->post_count > 0 ) {
    do_action_ref_array('loop_end', array(&$this));
    // Do some cleaning up after the loop
    $this->rewind_posts();
    }

    $this->in_the_loop = false;
    return false;
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    scusa ma query.php?
    riesci a vedere cosa c'è scritto?
    io personalmente ho abbandonato wordpress perchè a me piace avere codice sotto controllo

  6. #6
    e pure io la penso come te ma per forza di cose ho dovuto usare wp .

    sono una marea di righe non me li fa incollare .

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    ah capisco ma il select sta li?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    comunque dovresti fare una cosa di questo tipo
    prelevi i termini di ricerca...
    li scompatti con explode
    poi ti costruisci il codice in modo che
    quando farai like
    scriverai
    LIKE termine OR termine 2...

    se usi match against
    devi rendere indice fulltext i campi della tabella dove vuoi ricercare i termini
    memorizzi in una stringa i termini di ricerca dopo di che
    where match(camporicerca) against('$search')
    una cosa di queste...
    il secondo caso mi sembra molto più facile anche da scrivere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.