????
Current Path : /home/darkwebsol/rensencorp.com/wp-content/plugins/goal-lookbook/inc/ |
Current File : /home/darkwebsol/rensencorp.com/wp-content/plugins/goal-lookbook/inc/class-template-loader.php |
<?php /** * template loader * * @package goal-lookbook * @author GoalThemes <goalthemes@gmail.com > * @license GNU General Public License, version 3 * @copyright 13/06/2016 GoalThemes */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } class GoalLookbook_Template_Loader { /** * Gets template path * * @access public * @param $name * @param $plugin_dir * @return string * @throws Exception */ public static function locate( $name, $plugin_dir = GOALLOOKBOOK_PLUGIN_DIR ) { $template = ''; // Current theme base dir if ( ! empty( $name ) ) { $template = locate_template( "{$name}.php" ); } // Child theme if ( ! $template && ! empty( $name ) && file_exists( get_stylesheet_directory() . "/goal-lookbook/{$name}.php" ) ) { $template = get_stylesheet_directory() . "/goal-lookbook/{$name}.php"; } // Original theme if ( ! $template && ! empty( $name ) && file_exists( get_template_directory() . "/goal-lookbook/{$name}.php" ) ) { $template = get_template_directory() . "/goal-lookbook/{$name}.php"; } // Plugin if ( ! $template && ! empty( $name ) && file_exists( $plugin_dir . "/templates/{$name}.php" ) ) { $template = $plugin_dir . "/templates/{$name}.php"; } // Nothing found if ( empty( $template ) ) { throw new Exception( "Template /goal-lookbook/{$name}.php in plugin dir {$plugin_dir} not found." ); } return $template; } /** * Loads template content * * @param string $name * @param array $args * @param string $plugin_dir * @return string * @throws Exception */ public static function get_template_part( $name, $args = array(), $plugin_dir = GOALLOOKBOOK_PLUGIN_DIR ) { if ( is_array( $args ) && count( $args ) > 0 ) { extract( $args, EXTR_SKIP ); } $path = self::locate( $name, $plugin_dir ); ob_start(); include $path; $result = ob_get_contents(); ob_end_clean(); return $result; } }