/** * Sets up needed actions/filters for the class to initialize. * * @since 1.0.0 * @param str $target_dir_path A path to the templates directory. */ public function __construct() { $plugin = Cherry_Shortcodes_Templater::get_instance(); $this->plugin_slug = $plugin->get_plugin_slug(); $this->target_dir_path = CHERRY_TEMPLATER_UPLOAD_DIR . Cherry_Shortcodes_Templater::$dir_name; if (false == Cherry_Shortcodes_Templater::template_dir()) { add_action('admin_notices', array($this, 'admin_notice')); return; } /** * Default templates. * @var array * * array( * 'shortcode_name_1' => array( * 'location_name' => array( * 'item-*' => array( * 'dir' => '', * 'path' => '', * ) * ) * ), * 'shortcode_name_2' => array(...), * ) */ // Enqueue admin-specific stylesheet. add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'), 99); // Add the options page and menu item. add_action('admin_menu', array($this, 'add_admin_menu'), 11); }
$upload_dir = wp_upload_dir(); $path = trailingslashit(path_join($upload_dir['basedir'], self::$dir_name)); return wp_mkdir_p($path); } /** * Return the plugin slug. * * @since 1.0.0 * @return Plugin slug variable. */ public function get_plugin_slug() { return $this->plugin_slug; } /** * Returns the instance. * * @since 1.0.0 * @return object */ public static function get_instance() { // If the single instance hasn't been set, set it now. if (null == self::$instance) { self::$instance = new self(); } return self::$instance; } } Cherry_Shortcodes_Templater::get_instance(); }