Notice: This thread is over two years old; the information may be outdated. Please consider creating a new thread if you require free support. If you have an active SiteOrigin Premium license, you can email our premium support desk at [email protected].
Hey,
So I have a text-animation-widget that utilises the Animate.css lib.
I have this file-tree:
|-wp-content |-----plugins |---------extend-widgets-bundle |-------------extra-widgets |-----------------text-animation-widgets |---------------------tpl |-------------------------text-animation-widget-template.php |---------------------text-animation.widget.php
Here, I have this code:
text-animation-widget-template.php
<div> <?php $textToAnimate = $instance['text']; $animation = $instance['animation']; $delay = $instance['delay']; $infinite = $instance['infinite']; var_dump($textToAnimate); var_dump($animation); var_dump($delay); var_dump($infinite); ?> </div>
text-animation.widget.php
<?php /* * Widget Name: Text Animation Widget * Description: A widget which adds animate.css * Author: Trey Taylor */ class Text_Animation_Widget extends SiteOrigin_Widget { function __construct() { parent::__construct( 'text-animation-widget', __('Text Animation Widget', 'text-animation-widget-text-domain'), [ 'description' => __( 'Create Text Animation with the Text Animate Widget', 'text-animation-widget-text-domain') ], [], [ 'text' => [ 'type' => 'text', 'label' => __('Text to Animate', 'text-animation-widget-text-domain'), 'default' => '' ], 'animation' => [ 'type' => 'select', 'label' => __('Animation', 'text-animation-widget-text-domain'), 'default' => '', 'options' => $this->get_animation_options() ], 'delay' => [ 'type' => 'select', 'label' => __('Delay (in seconds)', 'text-animation-widget-text-domain'), 'default' => '', 'options' => $this->get_delay_options() ], 'infinite' => [ 'type' => 'checkbox', 'label' => __('Infinite?', 'text-animation-widget-text-domain'), 'default' => '' ] ], plugin_dir_path(__FILE__) ); } function get_template_name($instance) { return 'text-animation-widget-template'; } function get_style_name($instance) { return 'text-animation-widget-style'; } public function get_animation_options() { return [ 'bounce' => __('Bounce', 'widget-form-fields-text-domain'), 'bounceIn' => __('Bounce In', 'widget-form-fields-text-domain'), 'bounceInDown' => __('Bounce In Down', 'widget-form-fields-text-domain'), 'bounceInLeft' => __('Bounce In Left', 'widget-form-fields-text-domain'), 'bounceInRight' => __('Bounce In Right', 'widget-form-fields-text-domain'), 'bounceInUp' => __('Bounce In Up', 'widget-form-fields-text-domain'), 'bounceOut' => __('Bounce Out', 'widget-form-fields-text-domain'), 'bounceOutDown' => __('Bounce Out Down', 'widget-form-fields-text-domain'), 'bounceOutLeft' => __('Bounce Out Left', 'widget-form-fields-text-domain'), 'bounceOutRight' => __('Bounce Out Right', 'widget-form-fields-text-domain'), 'bounceOutUp' => __('Bounce Out Up', 'widget-form-fields-text-domain'), 'fadeIn' => __('Fade In', 'widget-form-fields-text-domain'), 'fadeInDown' => __('Fade In Down', 'widget-form-fields-text-domain'), 'fadeInLeft' => __('Fade In Left', 'widget-form-fields-text-domain'), 'fadeInRight' => __('Fade In Right', 'widget-form-fields-text-domain'), 'fadeInUp' => __('Fade In Up', 'widget-form-fields-text-domain'), 'fadeInDownBig' => __('Fade In Down Big', 'widget-form-fields-text-domain'), 'fadeInLeftBig' => __('Fade In Left Big', 'widget-form-fields-text-domain'), 'fadeInRightBig' => __('Fade In Right Big', 'widget-form-fields-text-domain'), 'fadeInUpBig' => __('Fade In Up Big', 'widget-form-fields-text-domain'), 'fadeOut' => __('Fade Out', 'widget-form-fields-text-domain'), 'fadeOutDown' => __('Fade Out Down', 'widget-form-fields-text-domain'), 'fadeOutLeft' => __('Fade Out Left', 'widget-form-fields-text-domain'), 'fadeOutRight' => __('Fade Out Right', 'widget-form-fields-text-domain'), 'fadeOutUp' => __('Fade Out Up', 'widget-form-fields-text-domain'), 'fadeOutDownBig' => __('Fade Out Down Big', 'widget-form-fields-text-domain'), 'fadeOutLeftBig' => __('Fade Out Left Big', 'widget-form-fields-text-domain'), 'fadeOutRightBig' => __('Fade Out Right Big', 'widget-form-fields-text-domain'), 'fadeOutUpBig' => __('Fade Out Up Big', 'widget-form-fields-text-domain'), 'flash' => __('Flash', 'widget-form-fields-text-domain'), 'flipInX' => __('Flip In X', 'widget-form-fields-text-domain'), 'flipInY' => __('Flip In Y', 'widget-form-fields-text-domain'), 'flipOutX' => __('Flip Out X', 'widget-form-fields-text-domain'), 'flipOutY' => __('Flip Out Y', 'widget-form-fields-text-domain'), 'headShake' => __('Head Shake', 'widget-form-fields-text-domain'), 'heartBeat' => __('Heartbeat', 'widget-form-fields-text-domain'), 'hinge' => __('Hinge', 'widget-form-fields-text-domain'), 'jackInTheBox' => __('Jack in the Box', 'widget-form-fields-text-domain'), 'jello' => __('Jello', 'widget-form-fields-text-domain'), 'lightSpeedIn' => __('Light Speed In', 'widget-form-fields-text-domain'), 'lightSpeedOut' => __('Light Speed Out', 'widget-form-fields-text-domain'), 'pulse' => __('Pulse', 'widget-form-fields-text-domain'), 'rollIn' => __('Roll In', 'widget-form-fields-text-domain'), 'rollOut' => __('Roll Out', 'widget-form-fields-text-domain'), 'rotateIn' => __('Rotate In', 'widget-form-fields-text-domain'), 'rotateInDownLeft' => __('Rotate In Down Left', 'widget-form-fields-text-domain'), 'rotateInDownRight' => __('Rotate In Down Right', 'widget-form-fields-text-domain'), 'rotateInUpLeft' => __('Rotate In Up Left', 'widget-form-fields-text-domain'), 'rotateInUpRight' => __('Rotate In Up Right', 'widget-form-fields-text-domain'), 'rotateOut' => __('Rotate Out', 'widget-form-fields-text-domain'), 'rotateOutUpLeft' => __('Rotate Out Up Left', 'widget-form-fields-text-domain'), 'rotateOutUpRight' => __('Rotate Out Up Right', 'widget-form-fields-text-domain'), 'rotateOutDownLeft' => __('Rotate Out Down Left', 'widget-form-fields-text-domain'), 'rotateOutDownRight' => __('Rotate Out Down Right', 'widget-form-fields-text-domain'), 'rubberBand' => __('Rubber Band', 'widget-form-fields-text-domain'), 'shake' => __('Shake', 'widget-form-fields-text-domain'), 'slideInDown' => __('Slide In Down', 'widget-form-fields-text-domain'), 'slideInLeft' => __('Slide In Left', 'widget-form-fields-text-domain'), 'slideInRight' => __('Slide In Right', 'widget-form-fields-text-domain'), 'slideInUp' => __('Slide In Up', 'widget-form-fields-text-domain'), 'slideOutDown' => __('Slide Out Down', 'widget-form-fields-text-domain'), 'slideOutLeft' => __('Slide Out Left', 'widget-form-fields-text-domain'), 'slideOutRight' => __('Slide Out Right', 'widget-form-fields-text-domain'), 'slideOutUp' => __('Slide Out Up', 'widget-form-fields-text-domain'), 'swing' => __('Swing', 'widget-form-fields-text-domain'), 'tada' => __('Tada', 'widget-form-fields-text-domain'), 'wobble' => __('Wobble', 'widget-form-fields-text-domain'), 'zoomIn' => __('Zoom In', 'widget-form-fields-text-domain'), 'zoomInDown' => __('Zoom In Down', 'widget-form-fields-text-domain'), 'zoomInLeft' => __('Zoom In Left', 'widget-form-fields-text-domain'), 'zoomInRight' => __('Zoom In Right', 'widget-form-fields-text-domain'), 'ZoomInUp' => __('Zoom In Up', 'widget-form-fields-text-domain'), 'zoomOut' => __('Zoom Out', 'widget-form-fields-text-domain'), 'zoomOutDown' => __('Zoom Out Down', 'widget-form-fields-text-domain'), 'zoomOutLeft' => __('Zoom Out Left', 'widget-form-fields-text-domain'), 'zoomOutRight' => __('Zoom Out Right', 'widget-form-fields-text-domain'), 'zoomOutUp' => __('Zoom Out Up', 'widget-form-fields-text-domain'), ]; } public function get_delay_options() { return [ 'default' => __('Default', 'widget-form-fields-text-domain'), 'delay-2s' => __('Delay 2 Seconds', 'widget-form-fields-text-domain'), 'delay-3s' => __('Delay 3 Seconds', 'widget-form-fields-text-domain'), 'delay-4s' => __('Delay 4 Seconds', 'widget-form-fields-text-domain'), 'delay-5s' => __('Delay 5 Seconds', 'widget-form-fields-text-domain') ]; } public function get_speed_options() { return [ 'default' => __('Default', 'widget-form-fields-text-domain'), 'slow' => __('Slow', 'widget-form-fields-text-domain'), 'slower' => __('Slower', 'widget-form-fields-text-domain'), 'fast' => __('Fast', 'widget-form-fields-text-domain'), 'faster' => __('Faster', 'widget-form-fields-text-domain') ]; } } siteorigin_widget_register('text-animation-widget', __FILE__, 'Text_Animation_Widget');
I then go to Plugins > SiteOrigin Widgets where, I see my widget. I click enable and it stays lit up. However, when I refresh the page, the widget is still disabled .. What am I doing wrong in my code?
Hi Trey,
I suspect the issue your widget is the file name. Please rename the text-animation.widget.php file to text-animation-widget.php. Does that help? If not, try: text-animation-widgets.php.