首页 文章

根据wordpress中的自定义字段查询帖子

提问于
浏览
1

我正在尝试编写一个查询,它将查找并显示我的所有帖子,这些帖子与我的输入具有相同的自定义字段值 .

在wordpress我有以下...

enter image description here

我的询问是......

$pageposts = $wpdb->get_results("SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_value = 'petrol' OR wpostmeta.meta_value = 'local' ORDER BY wpostmeta.meta_value DESC", OBJECT);

如果我删除'或wpostmeta.meta_value ='local'这可以正常工作并将自定义字段值作为'汽油'拉出正确的帖子

任何人都可以告诉我哪里出错了吗?目前它显示我的所有帖子,甚至那些草稿已被删除,它也循环并显示它们多次......

2 回答

  • 1

    尝试:

    SELECT wposts.* 
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta 
    WHERE wposts.ID = wpostmeta.post_id 
    AND (wpostmeta.meta_value = 'petrol' OR wpostmeta.meta_value = 'local') 
    ORDER BY wpostmeta.meta_value DESC"
    
  • 0

    弄清楚了...

    <?php
    $customkey = 'Network'; // set to your custom key
    $customvalue = 'Local'; // set to custom value
    
    global $wpdb;
    $my_posts = $wpdb->get_results("SELECT * FROM $wpdb->posts, $wpdb->postmeta WHERE ID = $wpdb->postmeta.post_id AND meta_key = '$customkey' AND meta_value = '$customvalue' ORDER BY post_date DESC");
    
    foreach ($my_posts as $post) :
    setup_postdata($post);
    
    echo '<div><a href="';
    the_permalink();
    echo '"></div>';
    the_title();
    
    endforeach;
    ?>
    

相关问题