*/ class Wp_Animated_Text_Plugin_Admin { /** * The ID of this plugin. * * @since 1.0.0 * @access private * @var string $plugin_name The ID of this plugin. */ private $plugin_name; /** * The version of this plugin. * * @since 1.0.0 * @access private * @var string $version The current version of this plugin. */ private $version; /** * Initialize the class and set its properties. * * @since 1.0.0 * * @param string $plugin_name The name of this plugin. * @param string $version The version of this plugin. */ public function __construct( $plugin_name, $version ) { $this->plugin_name = $plugin_name; $this->version = $version; } /** * Register the stylesheets for the admin area. * * @since 1.0.0 */ public function enqueue_styles() { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in Wp_Animated_Text_Plugin_Loader as all of the hooks are defined * in that particular class. * * The Wp_Animated_Text_Plugin_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/wp-animated-text-plugin-admin.css', array(), $this->version, 'all' ); } /** * Register the JavaScript for the admin area. * * @since 1.0.0 */ public function enqueue_scripts() { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in Wp_Animated_Text_Plugin_Loader as all of the hooks are defined * in that particular class. * * The Wp_Animated_Text_Plugin_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ } /** * Generate short code */ public function pah_shortcode( $atts, $content = null ) { extract( shortcode_atts( array( 'selector' => '', 'animation' => '', 'class' => '', 'pretext' => '', 'posttext' => '', 'animated_text' => '', ), $atts ) ); $animation_texts = explode( ',', $animated_text ); $mapped = array_map( function ( $text, $key ) { $is_visible = ( 0 === $key ? 'class="is-visible"' : '' ); return "{$text}"; }, $animation_texts, array_keys( $animation_texts ) ); $animation_text = implode( '', $mapped ); $css_class = $this->handle_animation( $animation ); if( ! $css_class ) { $html_element = <<<_end_ {$pretext} {$animation_text} {$posttext} _end_; return "