【问题标题】:Display latest post if custom fields are true如果自定义字段为真,则显示最新帖子
【发布时间】:2011-02-06 12:21:18
【问题描述】:

我试图让 wordpress 仅在使用自定义字段满足三个条件时发布最新帖子。首先,河流必须是“Colorado”,Area 必须是“Area 4”,位置必须是“soundbite 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 的理解不足

【问题讨论】:

    标签: php wordpress templates field


    【解决方案1】:

    那又怎样:

    <?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
          ";
    ?>
    

    【讨论】:

      猜你喜欢
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-31
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多