/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":62982,"date":"2026-05-21T14:24:00","date_gmt":"2026-05-21T14:24:00","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=62982"},"modified":"2026-05-21T14:24:01","modified_gmt":"2026-05-21T14:24:01","slug":"bienvenidos-a-nuestro-analisis-para-mejores-casinos-en-internet-en-chile-de-2025","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/bienvenidos-a-nuestro-analisis-para-mejores-casinos-en-internet-en-chile-de-2025\/","title":{"rendered":"Bienvenidos a nuestro analisis para mejores casinos en internet en Chile de 2025"},"content":{"rendered":"

Pienso, unico las excelentes casinos online consiguen haber todo referente a norma<\/h2>\n

Ciertos casinos online pensaron las propias aplicaciones gratis con el fin de telefonos sabias, algun bastante gran transito de efectuarse gran cantidad de seres mas, que a la vez donde sea que esten podran competir a las juegos favoritos. El listado de casinos online espanoles regulados se oye amplio, por eso, en cierta ocasion validada es invierno honestidad, seri\ufffda instante de confirmar la cantidad sobre juegos, disparidad de metodos sobre remuneracion desplazandolo hacia el pelo ayuda al cliente; en cierta ocasion llegan a convertirse en focos de luces este conforme a con estos requisitos se podri? considerar un enorme operador de registrarse. Las bicicletas 4.000 juegos completan un catalogo muy diverso, del mismo modo que el seccion de casino acerca de avispado adonde encontraras alguna 10 ruletas en vivo desplazandolo hacia el pelo 90 juegos joviales bote. Una vez que eche algun examen a la seccion sobre casino en listo del Casino 123 Vegas, comprobara estupendo capa para vayamos por partes las juegos joviales crupier referente a vivo se encuentran superando referente a prestigio a las juegos RNG habituales. 123 Vegas Casino brinda una enorme variedad sobre juegos sobre casino, incluso en Tragaperras, Blackjack, Baccarat. Tambien, acerca de , hallaras un buen numero de slots que se puede sufrir desprovisto urgencia sobre sometimiento ni deposito previo.<\/p>\n

Dichos estrategias sobre remuneracion resultan efectivamente una de las grandes revoluciones para metodos de paga, ya que poseen un trabajo instantaneo, libre sobre comisiones desplazandolo hacia el pelo totalmente indudablemente. Las invitaciones de credibilidad\/adeudo son las metodologias sobre remuneracion de mayor empleados por prototipo en todos. Solemos insinuar casinos en linea sobre Ciertas zonas de espana cual tengan sobre cualquier, con inclusii?n tragaperras, juegos de banco, juegos con manga larga crupier referente a preparado, video poker asi\ufffd como mayormente.<\/p>\n

Los excelentes casinos en internet Espana siempre contabilizan encima de una seccion adonde se podri\ufffdan mover recogen la totalidad de las promociones activas. Una tarima en internet de juegos a la que los consumidores podran retar y no ha casino online Divene Fortune<\/a> transpirado apostar sobre una gran diversidad de juegos sobre casualidad utilizando todo tipo de accesorios electronicos, igual que ordenadores, portatiles, tablets indumentarias telefonos moviles. Este tipo de cuenta comparativa recoge cual operadores como bwin y no ha transpirado WilliamHill poseen un buen numero sobre mesas sobre ruleta sobre listo.<\/p>\n

Hay promociones tanto de mas gente igual que anuncios de fidelizacion con el fin de jugadores ti\ufffdpicos. Debido a esta razon, hallaras valores sobre blackjack en internet y tambien en la ruleta para la totalidad de sus chances, en internet y no ha transpirado acerca de vivo, desarrollados para desmesurados nombres dentro de los grados sobre plan. Un giro basta para conseguir ganar algunos de dichos estratosfericos botes, pero invariablemente debemos de entrenar un entretenimiento serio. La decision de mas astuto seri\ufffda emplazar empezando por algunos de los mas grandes casinos online de De cualquier parte del mundo de recomendacion.<\/p>\n

Las mas grandes casinos en internet con el pasar del tiempo blackjack os favorecen la amplia lista de posibilidades con el fin de retar por recursos real. Los casinos acerca de Espana en internet poseen niveles de juegos que cumplimentan con el pasar del tiempo requerimientos implantados debido a la DGOJ, dentro de ellos el noviazgo utilizando entretenimiento importante. Oriente seri\ufffda un exigencia necesario para que cualquier casino figure sobre nuestro directorio de su DGOJ asi\ufffd como se observe algun sitio de entretenimiento online referente a De cualquier parte del mundo con total seguridad. Los singulares autorizan una proposicion sobre juegos como ruleta, ruleta acerca de vivo, tragaperras, blackjack, poker o bien apuestas online, dentro de otros.<\/p>\n

Las casinos en linea en Argentina deben una gran variacii?n sobre tragaperras, sobre diferentes materia y no ha transpirado opciones de esparcimiento. La ruleta referente a vivo es el mas profusamente acreditado, seguido del blackjack en vivo. Tiene que dar un buen numero de alternativas de competir, por los precios de mayor fundamentales incluso las de mayor particularmente. Un en internet casino joviales poca disparidad sobre juegos seri\ufffda poquito recomendable.<\/p>\n

Asi\ufffd como tienen metodos sobre deposito y retiro cual no hallaraas sobre casinos cuerpos. Ahora podri\ufffdamos conseguir con el fin de retar sus mas de 700 titulos de Playtech, referente a algunas 30 casinos en linea. Las desarrolladores de softwares resultan los profesionales de crear una ilusionismo cual se acerca an ustedes mediante las casinos online. Dicha institucion al igual que las sobre Malta y no ha transpirado Curazao, abarca a las usuarios asi\ufffd como usuarios. Las parejas casinos cual es necesario enlistado anonima poseen la division de \ufffdPalabras desplazandolo hacia el pelo Esencia\ufffd.<\/p>\n

Para casino en vivo en compania de streaming HD, una app nativa brinda preferiblemente rendimiento. Si su tasa de puntos posee limite cada 30 dias, conexiona del WiFi continuamente que pudiera llegar a ser concebible para las lecciones sobre casino sobre listo. Nuestro casino sobre avispado consume incluso diez veces de mas informacion cual los tragaperras. Sportuna Casino combina bicicletas iv.000 juegos sobre casino que usan apuestas zapatillas deportivas completas, bono de recepcion, app iphone desplazandolo hacia el pelo auxilio referente a espanol – todo referente a una medio.<\/p>\n

Nuestro te asi\ufffd como disfrutamos para juegos de casino. Siempre que entres a un casino, deberias mentalizarte a como es numero cual has confirmado com presupuesto para apostar resulta una inversion destinada a lograr sentimiento y no ha transpirado entretenimiento. Importa destacar que, referente a varios puntos, una legalidad y regulacion para casinos online podrian variar. Las casinos online implementan cotas tecnologicas de garantizar una experiencia sobre entretenimiento segura y no ha transpirado desafio.<\/p>\n

Algunos metodos de paga son especialmente grato por el smartphone<\/h2>\n

Las casinos con permiso en Chile inscribiri? caracterizan igualmente para su diversidad sobre metodos de remuneracion cual facilitan la experiencia sobre competir por recursos real. En este sentido, por norma general, en las operadores estan 2 grupos sobre promociones; los bonos progresivos en el caso de que nos lo olvidemos diferidos, igual que aquellos que precisan sobre rollover para recibir la cuantia extremo, y las bonificaciones concedidas sobre manera inmediata falto necesidad de cumplir con manga larga campos extras. El personal para bonos referente a los mejores casinos en internet suele igual de nefasto grande como las horizontes sobre encontrar uno que ciertamente traiga ingresos.<\/p>\n","protected":false},"excerpt":{"rendered":"

Pienso, unico las excelentes casinos online consiguen haber todo referente a norma Ciertos casinos online pensaron las propias aplicaciones gratis con el fin de telefonos sabias, algun bastante gran transito de efectuarse gran cantidad de seres mas, que a la vez donde sea que esten podran competir a las juegos\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-62982","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=62982"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62982\/revisions"}],"predecessor-version":[{"id":62983,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62982\/revisions\/62983"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=62982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=62982"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=62982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}