有没有办法检索调用模板部件?

时间:2015-02-21 作者:codecowboy

如果我在标题中包含模板部分。php如下所示:

    <?php get_template_part(\'templates/social-icons\'); ?>
是否有方法检索模板名称header.php 是否在此模板部件内?i、 e模板的名称,包括social-icons.php?

社交偶像也是如此。php我想检索名称的标题。php’动态,以便我可以包含社交图标。并对调用模板的名称作出反应。

可能是使用PHP的get_included_files()pathinfo() ?

1 个回复
最合适的回答,由SO网友:codecowboy 整理而成

查找后this answer, 我选择了:

$template_tree = mytheme_get_template_tree();
$total = count($template_tree); //count the elements in the array
end($template_tree); //set the pointer to the end of the array
$immediate_parent = basename(prev($template_tree)); //get the filename of the penultimate element
然后在插件/函数中。php

function mytheme_get_template_tree()
{
    $included_files = get_included_files();
    $stylesheet_dir = str_replace( \'\\\\\', \'/\', get_stylesheet_directory() );
    $template_dir   = str_replace( \'\\\\\', \'/\', get_template_directory() );

    foreach ( $included_files as $key => $path ) {

        $path = str_replace( \'\\\\\', \'/\', $path );

        if ( FALSE === strpos( $path, $stylesheet_dir ) && FALSE === strpos( $path, $template_dir ) ) {
            unset( $included_files[ $key ] );
        }
    }

    return $included_files;

}
尽管如此,我仍然有兴趣了解其他方法!

结束

相关推荐