是否有用于抓取页面属性的Wordpress功能?我需要能够检查哪些模板正在哪些页面上使用。
我尝试了get_post和get_pages,但都没有输出页面属性。
提前致谢!
溶液:
$ids= get_all_page_ids();
foreach ($ids as $id){
$meta = get_metadata('post', $id);
//var_dump($meta);
$template = $meta['_wp_page_template'][0];
echo $template;
echo "<br>";
}
答案 0 :(得分:2)
尝试使用get_all_metadata
。这将获取给定对象的所有元记录。
<?php
$post_id = 123;
$meta = get_metadata('post', $post_id);
echo $meta['my_custom_field_key'];
答案 1 :(得分:1)
文档是个好看的地方:Function Reference « WordPress Codex
即:Function Reference/get page template
显示用于呈现页面的页面模板的文件名 (在此示例中打印在HTML注释中):
<?php echo '<!-- ' . basename( get_page_template() ) . ' -->'; ?>
和
global $wp_query;
$template_name = get_post_meta( $wp_query->post->ID, '_wp_page_template', true );
将为您提供模板文件名。使用str_replace()
从结尾剥离.php。
`