如何获得页面模板名称?例如模板名称:模板名称

时间:2019-06-07 15:05:00

标签: php wordpress

有什么方法可以获取页面模板的名称?
 我的意思是在页面模板中,一开始我们写Template Name: template name
我要通过页面ID来“ template name

我尝试过get_post_meta(get_the_ID(), '_wp_page_template', true) and get_page_template_slug($post_id),但没有一个功能起作用

3 个答案:

答案 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);
$fileget_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];

它输出模板名称。 就这么简单。