Created
May 25, 2019 07:37
-
-
Save IamSohaggazi/4e6ac4f72d68fc071f0001a9f86b4b58 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Shortcode_Button loader | |
* Handles checking for and smartly loading the newest version of this library. | |
* | |
* Shortcode_Button - Tinymce and Quicktag buttons for outputting shortcodes. | |
* | |
* @category WordPressLibrary | |
* @package Shortcode_Button | |
* @author Justin Sternberg <justin@dsgnwrks.pro> | |
* @copyright 2015-2016 Justin Sternberg <justin@dsgnwrks.pro> | |
* @license GPL-2.0+ | |
* @version 1.0.7 | |
* @link https://github.com/jtsternberg/Shortcode_Button | |
* @since 1.0.0 | |
*/ | |
/** | |
* Copyright (c) 2015-2016 Justin Sternberg (email : justin@dsgnwrks.pro) | |
* | |
* This program is free software; you can redistribute it and/or modify | |
* it under the terms of the GNU General Public License, version 2 or, at | |
* your discretion, any later version, as published by the Free | |
* Software Foundation. | |
* | |
* This program is distributed in the hope that it will be useful, | |
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
* GNU General Public License for more details. | |
* | |
* You should have received a copy of the GNU General Public License | |
* along with this program; if not, write to the Free Software | |
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
*/ | |
/** | |
* Loader versioning: http://jtsternberg.github.io/wp-lib-loader/ | |
*/ | |
if ( ! class_exists( 'capie_theme_shortcode', false ) ) { | |
/** | |
* Versioned loader class-name | |
* | |
* This ensures each version is loaded/checked. | |
* | |
* @category WordPressLibrary | |
* @package Shortcode_Button | |
* @author Justin Sternberg <justin@dsgnwrks.pro> | |
* @license GPL-2.0+ | |
* @version 1.0.7 | |
* @link https://github.com/jtsternberg/Shortcode_Button | |
* @since 1.0.0 | |
*/ | |
class capie_theme_shortcode_1553757877 { | |
/** | |
* Shortcode_Button version number | |
* @var string | |
* @since 1.0.0 | |
*/ | |
const VERSION = '2.0'; | |
/** | |
* Current version hook priority. | |
* Will decrement with each release | |
* | |
* @var int | |
* @since 1.0.0 | |
*/ | |
const PRIORITY = 9992; | |
/** | |
* Starts the version checking process. | |
* Creates SHORTCODE_BUTTONS_LOADED definition for early detection by | |
* other scripts. | |
* | |
* Hooks Shortcode_Button inclusion to the shortcode_button_load hook | |
* on a high priority which decrements (increasing the priority) with | |
* each version release. | |
* | |
* @since 1.0.0 | |
*/ | |
public function __construct() { | |
if ( ! defined( 'capie_theme_shortcode_1553757877_load' ) ) { | |
/** | |
* A constant you can use to check if Shortcode_Button is loaded | |
* for your plugins/themes with Shortcode_Button dependency. | |
* | |
* Can also be used to determine the priority of the hook | |
* in use for the currently loaded version. | |
*/ | |
define( 'capie_theme_shortcode_1553757877_load', self::PRIORITY ); | |
} | |
// Use the hook system to ensure only the newest version is loaded. | |
add_action( 'capie_theme_shortcode_1553757877_load', array( $this, 'include_lib' ), self::PRIORITY ); | |
/* | |
* Hook in to the first hook we have available and | |
* fire our `shortcode_button_load' hook. | |
*/ | |
add_action( 'muplugins_loaded', array( __CLASS__, 'fire_hook' ), 9 ); | |
add_action( 'plugins_loaded', array( __CLASS__, 'fire_hook' ), 9 ); | |
add_action( 'after_setup_theme', array( __CLASS__, 'fire_hook' ), 9 ); | |
} | |
/** | |
* Fires the shortcode_button_load action hook. | |
* | |
* @since 1.0.0 | |
*/ | |
public static function fire_hook() { | |
if ( ! did_action( 'capie_theme_shortcode_1553757877_load' ) ) { | |
// Then fire our hook. | |
do_action( 'capie_theme_shortcode_1553757877_load' ); | |
} | |
} | |
/** | |
* A final check if Shortcode_Button exists before kicking off | |
* our Shortcode_Button loading. | |
* | |
* SHORTCODE_BUTTONS_VERSION and SHORTCODE_BUTTONS_DIR constants are | |
* set at this point. | |
* | |
* @since 1.0.0 | |
*/ | |
public function include_lib() { | |
if ( class_exists( 'capie_theme_shortcode_button', false ) ) { | |
return; | |
} | |
if ( ! defined( 'capie_theme_shortcode_button_version' ) ) { | |
/** | |
* Defines the currently loaded version of Shortcode_Button. | |
*/ | |
define( 'capie_theme_shortcode_button', self::VERSION ); | |
} | |
if ( ! defined( 'capie_theme_shortcode_button_dir' ) ) { | |
/** | |
* Defines the directory of the currently loaded version of Shortcode_Button. | |
*/ | |
define( 'capie_theme_shortcode_button_dir', dirname( __FILE__ ) . '/' ); | |
} | |
// Include and initiate Shortcode_Button. | |
require_once capie_theme_shortcode_button_dir . 'lib/class-shortcode-button.php'; | |
} | |
} | |
// Kick it off. | |
new capie_theme_shortcode_1553757877; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment