vapeti
2010. október 4. 13:03
#1
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
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
vapeti
2010. október 8. 11:46
#4
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!
vapeti
2010. október 10. 19:36
#5
Sziasztok!
Valahogy csak összehoztam 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