Je suis sûr que cette question est posée beaucoup, mais je ne peux pas le comprendre, car toutes les différentes façons d'interroger des publications m'embrouillent.
Voici mon code actuel.
Comment puis-je dire au code de ne recevoir que les messages de la catégorie ID # 22?
<?php
$querystr = "
SELECT post_id, AVG(meta_value) AS total, COUNT(post_id) as num_karakter
FROM sk_postmeta
WHERE meta_key = 'krit_karakter'
GROUP BY post_id
ORDER BY total DESC
LIMIT 5
";
$pageposts = $wpdb->get_results($querystr, OBJECT);
if ($pageposts) { ?>
<ul class="smartbar-items">
<?php foreach ($pageposts as $post):
setup_postdata($post); ?>
<li><a href="<?php echo get_permalink($post->post_id);?>"><img src="<?php bloginfo('url');?>/wp-content/files_mf/<?php echo get_post_meta($post->post_id, 'game_poster', true); ?>" width="80" height="110" alt="<?php echo get_the_title($post->post_id);?>" /> <br /><?php echo get_the_title($post->post_id);?></a></li>
<?php endforeach; ?>
</ul>
Merci pour toute aide!
Je le ferais en deux morceaux.
Ajoutez ceci dans votre fichier functions.php pour récupérer globalement les champs personnalisés:
function get_custom_field($key, $echo = FALSE) {
global $post;
$custom_field = get_post_meta($post->ID, $key, true);
if ($echo == FALSE) return $custom_field;
echo $custom_field;
}
Construisez votre requête comme suit:
Je n'arrive pas à obtenir de démarque pour jouer à Nice, alors voici le code dans Pastie http://pastie.org/1294594
Vous devez rejoindre la table sk_term_relationships.
$querystr = "
SELECT post_id, AVG(meta_value) AS total, COUNT(post_id) as num_karakter
FROM sk_postmeta p
inner join sk_term_relationship t on p.post_id = t.object_id
and t.term_taxonomy_id = 22
WHERE meta_key = 'krit_karakter'
GROUP BY post_id
ORDER BY total DESC
LIMIT 5
";