get_posts() 按类别 + 自定义选择字段

get_posts() by category + custom select fields

提问人:mickdeez 提问时间:11/15/2023 更新时间:11/15/2023 访问量:39

问:

我有两个“选择”自定义字段用于我的帖子,标题为author_1和author_2。以下是每个选择字段中的可能值。

testauthor1 : Test Author 1
testauthor2 : Test Author 2
testauthor3 : Test Author 3

每个选择都有一个值和一个标签。我希望我的 get_posts() 查询查找页面标题是当前所选值的标签的所有帖子。例如。。如果我有一个帖子,其中 author_1 = “testauthor2 : Test Author 2” 并且当前页面标题是“Test Author 2”,则应返回该帖子。

目前,我的查询只是返回类别 9 中的所有帖子,但它不会仅返回 author_1 或 author_2 等于当前页面标题的帖子。

function hide_cotw_heading(){
    $title = get_the_title();
    $args = array(
        'cat' => 9,
        'meta_query'    => array(
            'relation'      => 'OR',
            array(
                'meta_key'       => 'author_1',
                'meta_label'     => $title
            ),
            array(
                'meta_key'       => 'author_2',
                'meta_label'     => $title
            )
        )
      );
      
      $latest_posts = get_posts( $args );
      if($latest_posts){
        return print_r($latest_posts);
      } else{
        return 'No posts';
      }
}
php wordpress 高级自定义字段

评论

1赞 disinfor 11/15/2023
因为它是 和 不是 和 . 仅在数组外部使用,不是有效的数组索引。keyvaluemeta_keymeta_labelmeta_keymeta_querymeta_label
0赞 mickdeez 11/16/2023
我最初有键和值,但这也不起作用 - 所有帖子仍然被退回。我尝试了许多变体,但它们都产生了相同的结果。是否无法按标签查询帖子?
0赞 disinfor 11/16/2023
这很好,你最初有,但你的问题不包含这些信息,所以它显示为一个错别字问题。再次查看您的问题时出现的最大问题 - 我假设 的值 - 是整个字符串 - 如果是这样的话,那不是值/键对。这只是一个字符串,所以没有 .您可以尝试添加到meta_query数组中。Like 'array ( 'key' => 'author_1', 'value' => $title, 'compare' => 'LIKE')keyvaluemeta_keyauthor_1/2testauthor3 : Test Author 3label'compare' => 'LIKE'

答: 暂无答案