有什么方法可以获取页面模板的名称?
我的意思是在页面模板中,一开始我们写Template Name: template name
我要通过页面ID来“ template name
”
我尝试过get_post_meta(get_the_ID(), '_wp_page_template', true) and get_page_template_slug($post_id)
,但没有一个功能起作用
答案 0 :(得分:0)
尝试将此代码添加到function.php
add_action('wp_head', 'show_template');
function show_template() {
global $template;
echo basename($template);
}
让我知道。
答案 1 :(得分:0)
我知道了。
因为我将在WordPress管理员内部使用
我用过正则表达式。
就像这样的preg_match('/\bTemplate Name: [a-zA-Z0-9\s\-_]+\b/',$file,$template);
。
$file
是get_post_meta(get_the_ID(), '_wp_page_template', true)
它给了我Template Name: template name
,然后我使用了一些数组函数来从preg_match
返回的数组中获取实际零件。
我希望该解决方案将来能对其他开发人员有所帮助。
答案 2 :(得分:0)
还有一些更合适的方法可以做到这一点。 说我们已经有了模板路径:
$template_path = get_post_meta(get_the_ID(), '_wp_page_template', true);
然后我们就这样做:
$templates = wp_get_theme()->get_page_templates();
echo $templates[$template_path];
它输出模板名称。 就这么简单。