繁体   English   中英

WordPress:自定义帖子类型查询未找到高级自定义字段meta_query

[英]Wordpress: Custom Post Type query not finding advanced custom field meta_query

我在Wordpress中有一个自定义帖子类型,称为“人物”(人物中的每个帖子都是具有一些生物详细信息等的人)。

在每个People帖子中,我创建了一个名为“ tags”的自定义字段,该字段具有一系列复选框。

如果有人单击“系统管理器”复选框,我希望只能浏览特定页面上的所有系统管理器。

我获得的最大成功是使用wp_get_recent_posts而不是新的wp_query ..这将输出所有人,直到我添加我的额外元查询搜索为止。 然后什么也没有出现。

$people_args = array(
    'post_type' => 'people',
    'post_status'=>'publish',
    'meta_query' => array(
    array(
        'key' => 'tags', // name of custom field
        'value' => 'systemmanager',
        'compare' => 'LIKE'
    )
    )
);
$people_posts = wp_get_recent_posts($people_args);
foreach( $people_posts as $people ){    

    $fields = get_fields($people["ID"]);

    if (get_post_thumbnail_id( $people["ID"] )>0) {
        $myimgsp = wp_get_attachment_image_src(get_post_thumbnail_id($people["ID"]),'full');
        echo '
            <li class="item">
                <a href="'.get_permalink(43).'"><img src="'.$myimgsp[0].'" alt="'.$people["post_title"].'" class="img-responsive" /></a>
                <div class="profile">
                    <h3>'.$people["post_title"].'</h3>
                    <p>'.$fields["job_title"].'</p>
                    <a href="'.get_permalink(43).'"  class="btn invert black">View Profile</a>
                </div>

            </li>';
    }
}
wp_reset_query();

我已经花了几个小时尝试所有不同类型的循环,但是我没有运气。 有人遇到过这个问题吗?

如果您卡在查询中,则可以尝试使用其他方法,并使用查询中的post_id并在代码内进行小循环,然后使用get_post_meta(post_id)检查meta键并获取标签值...类似这样的东西...

$meta = get_post_meta($post_ID);
foreach($meta as $key=>$val)
    {
        if ($key == 'tags')
        echo $val;
    }

所以我感觉有点傻! 在我的functions.php中,我忘记设置自定义帖子类型应支持自定义字段。 因此,即使我的“高级自定义字段”正在显示..当我调用它时,它也没有通过。

要纠正,我添加到我的自定义帖子类型配置:

'supports' => array('title','thumbnail','custom-fields')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM