我试图为自定义帖子类型添加元框(在插件中)。
我想获取在我的Wordpress网站中分配了特定页面模板的所有页面,因此我使用以下内容:
$surgeons = get_pages(array(
'meta_key' => '_wp_page_template',
'meta_value' => 'template-meet-the-team-single.php'
));
然而,$外科医生作为一个空数组返回,为什么?
听起来没有页面正在使用我所说的模板,好像我只是使用默认的get_pages()
它返回所有页面,但这是不正确的,因为我肯定有分配此模板的页面
此代码在插件文件中是否重要,而meta_value
是否试图在插件文件夹中找到此模板?
答案 0 :(得分:0)
请尝试使用自定义查询:
$all_team_single = query_posts(array(
'post_type' =>'page',
'meta_key' =>'_wp_page_template',
'meta_value'=>'template-meet-the-team-single.php',
));
您的上述代码看起来不错,要获得更多帮助,请访问以下链接。 https://wordpress.stackexchange.com/questions/173469/loop-through-pages-with-specific-template
答案 1 :(得分:0)
虽然我不认为这确实能解决我遇到的问题,但这是修复返回数组并提供正确结果的方法。
我没有使用get_pages()
,只是将其切换为get_posts()
,然后返回正确的结果。
$surgeons = get_posts(array(
'post_type' => 'page',
'posts_per_page' => -1,
'meta_key' => '_wp_page_template',
'meta_value' => 'template-meet-the-team-single.php'
));