$wpdb osztály - Segítség!

Sziasztok!











Egy keresést szeretnék csinálni a post-ok között, ami kilistázza a keresem tömb elemei-hez hasonló, adott custom field-el rendelkező találatokat. Tehát, ha egy post meta_key kulcsú meta_value hasonló, akk adjon találatot.





A $wpdb osztályt próbálgatom, de sehogy sem akar működni :frowning:











Valahogy így kéne kinéznie:









Code:



<?php

for($i = 0; $i < sizeof($keresem); ++$i) {

$keresem[$i] = '%'.$keresem[$i].'%';

$postids=$wpdb->get_col($wpdb->prepare("

SELECT post_id

FROM $wpdb->postmeta

WHERE (meta_key = 'meta_key'

AND meta_value LIKE ".$keresem[$i].")"));



echo '
  • '.$keresem[$i].'

  • ';

    foreach ($postids as $id) {

    $post=get_post(intval($id));

    setup_postdata($post); ?>

  • <?php the_title(); ?>


  • <?php

    }

    echo '
';

}

?>











Próbáltam már úgy is, ha simán beírom a keresett kifejezést, '%ezt_keresem%' formában, úgy sem működik :(





phpMyAdmin-ba beírva szépen megtalálja a dolgokat, word press vmit átfordít gondolom...





Tudna valaki segíteni, hogyan kéne megoldani?





Előre is köszi

Sziasztok!











Senki…:frowning: ?


Code:

<?php



var_dump($wpdb->last_query);

var_dump($wpdb->last_error);



?>

Köszi a tippet, de nem segít megvilágosodnom egyenlőre :S











A $wpdb->last_error nem ad semmit, a $wpdb->last_query viszont visszaad egy ilyet:



Code:



string(128) "SELECT post_id FROM wp_kb_postmeta WHERE meta_key = 'idopontok' AND meta_value LIKE '%2010.10.10.%'"








Talán rossz a formátuma a lekérdezésnek, ezért sima szövegnek veszi? nem tudom mi lehet a baj :(





Azért köszönöm! Ha van még ötleted, az nagyon hasznos lenne!

Sziasztok!











Valahogy csak összehoztam :slight_smile: Aki akarja használja bátran - hogy én mire használtam, megtalálható a téma indító bejegyzésben:



Code:



<?php

for($i = 0; $i < sizeof($keresem); ++$i) {

$keresem[$i] = ''%'.$keresem[$i].'%'';

$wpdb->flush();

$postids=$wpdb->get_results(

"SELECT post_id

FROM $wpdb->postmeta

WHERE meta_key = 'idopontok'

AND meta_value LIKE ".$keresem[$i],ARRAY_A);



echo '
  • '.$keresem[$i].'
  • ';

    foreach ($postids as $id) {

    $id=implode($id);

    $post=get_post(intval($id));

    setup_postdata($post); ?>

  • <a href="" rel="bookmark" title="" alt="" target="_blank">


  • <?php

    } echo '

';

}

?>








Szép estét