Support » Fixing WordPress » Get page templates from active theme?

  • Hi,

    wp_get_theme()->get_page_templates(); returns an array of all page templates in both theme and child theme folder.

    Now, how can I only return page templates from one of these locations?

    Like this:
    – If child theme is NOT active, get page templates from theme folder.
    – If a child theme IS active, get only page templates from the child theme folder

    Is this possible?

Viewing 3 replies - 1 through 3 (of 3 total)
  • check the codex

    you can use $stylesheet, $theme_root to get what you want and you can compine it with an if condition like that:

    $theme = wp_get_theme(); // gets the current theme
    if ('twentytwelve' == $theme->name || 'twentytwelve' == $theme->parent_theme) {
        // if you're here twenty twelve is the active theme or is
        // the current theme's parent theme
    Thread Starter clinton4


    So i try this:

    wp_get_theme(‘my-child-theme’, ‘/var/www/vhosts/’)->get_page_templates();

    But when i do print_r on it, i only get Array()

    What am I doing wrong?

    Thread Starter clinton4


    Does anybody know why this wont work?

    First argument ($stylesheet) is directory name for the child theme.
    Second argument ($theme_root) is the absolute path of the theme root to look in.

    I have tried the following optios as $theme_root:

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Get page templates from active theme?’ is closed to new replies.