• Hi, I wanna sort my articles by meta value. I have following code

    <?php
     $querystr = "
        SELECT wposts.*
        FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
        WHERE wposts.ID = wpostmeta.post_id
        AND wpostmeta.meta_key = 'review_score'
        AND wpostmeta.meta_value = 'review_score_value'
        AND wposts.post_status = 'publish'
        AND wposts.post_type = 'post'
        ORDER BY wposts.post_date DESC
     ";
    
     $pageposts = $wpdb->get_results($querystr, OBJECT);
    $order = "&orderby=cost&order=DESC";
      $s2 = ' selected="selected"';
      if ($_POST['select'] == 'title') { $order = "&orderby=title&order=ASC"; $s1 = ' selected="selected"'; $s2 = ''; }
      if ($_POST['select'] == 'newest') { $order = "&orderby=cost&order=DESC"; $s2 = ' selected="selected"'; }
      if ($_POST['select'] == 'oldest') { $order = "&orderby=cost&order=ASC"; $s3 = ' selected="selected"'; $s2 = ''; }
      if ($_POST['select'] == 'ocena') { $pageposts = $wpdb->get_results($querystr, OBJECT);$s4 = ' selected="selected"'; $s2 = ''; }
    ?>
    <form method="post" id="order">
      Sortuj:
      <select name="select" onchange='this.form.submit()'>
        <option value="title"<?=$s1?>> A-Z</option>
        <option value="newest"<?=$s2?>>newest</option>
        <option value="oldest"<?=$s3?>>oldest</option>
    <option value="ocena"<?=$s4?>>score</option>
      </select>
    </form>

    By title ,newest, oldest work but score not really.
    This code is ok?

    AND wpostmeta.meta_key = 'review_score'
        AND wpostmeta.meta_value = 'review_score_value'

Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Sort my post by meta value’ is closed to new replies.