Показать последнее сообщение, если пользовательские поля верны - PullRequest
0 голосов
/ 06 февраля 2011

Я пытаюсь заставить WordPress опубликовать последнее сообщение, только если выполнены три условия с использованием настраиваемых полей. Сначала река должна быть «Колорадо», зона должна быть «зона 4», а позиция должна быть «звуковой прикус 5». Это вообще возможно сделать?

Код пока:

<?php $querystr = "
      SELECT wposts.*
      FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
      WHERE wposts.ID = wpostmeta.post_id
      AND wpostmeta.meta_key = 'select_river'
      AND wpostmeta.meta_value = 'Colorado'
      AND wpostmeta.meta_key = 'select_area'
      AND wpostmeta.meta_value = 'Area 4'
      AND wpostmeta.meta_key = 'select_soundbite_position'
      AND wpostmeta.meta_value = 'soundbite 5'
      AND wposts.post_status = 'publish'
      AND wposts.post_type = 'post'
      ORDER BY wposts.post_date DESC
      ";

     $pageposts = $wpdb->get_results($querystr, OBJECT);

      if ($pageposts):
      foreach ($pageposts as $post):
        setup_postdata($post); ?>

        <p>Test</p>

        <?php endforeach; ?>
    <?php endif; ?>

Это не работает, и я понятия не имею, почему ... ну, в моем понимании PHP не хватает

1 Ответ

0 голосов
/ 06 февраля 2011

Что насчёт этого:

<?php
$querystr = "
      SELECT wposts.*
      FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta, $wpdb->postmeta wpostmeta2, $wpdb->postmeta wpostmeta3
      WHERE wposts.ID = wpostmeta.post_id
      AND wpostmeta.meta_key = 'select_river'
      AND wpostmeta.meta_value = 'Colorado'
      AND wpostmeta2.meta_key = 'select_area'
      AND wpostmeta2.meta_value = 'Area 4'
      AND wpostmeta3.meta_key = 'select_soundbite_position'
      AND wpostmeta3.meta_value = 'soundbite 5'
      AND wposts.post_status = 'publish'
      AND wposts.post_type = 'post'
      ORDER BY wposts.post_date DESC
      ";
?>
...