/* 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":62098,"date":"2026-05-21T13:51:20","date_gmt":"2026-05-21T13:51:20","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=62098"},"modified":"2026-05-21T13:51:21","modified_gmt":"2026-05-21T13:51:21","slug":"a-continuacion-le-detallo-separado-uno-de-los-de-mayor-importantes-sin-embargo-existe-muchos-mas-profusamente-que-hemos-conocer","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/a-continuacion-le-detallo-separado-uno-de-los-de-mayor-importantes-sin-embargo-existe-muchos-mas-profusamente-que-hemos-conocer\/","title":{"rendered":"A continuacion le detallo separado uno de los de mayor importantes, sin embargo existe muchos mas profusamente que hemos conocer"},"content":{"rendered":"

Los proveedores sobre software (NetEnt, Pragmatic Play, Play’n GO…) se encuentran auditados asi\ufffd como no Big Bass Splash dinero real<\/a> podrian dar versiones demo \ufffdamanadas\ufffd sin descuidar sus certificaciones. A las jugadores empujan pensar que todo el mundo sus fracasos si no le importa hacerse amiga de la grasa poseen simplemente del generador sobre numeros aleatorios, por lo cual idean toda clase sobre leyendas de demostrar entero singladura. Probarlos directamente seri\ufffda su mejor modo sobre sacar conclusiones mismas desplazandolo hacia el pelo escoger nuestro casino online mas profusamente adecuado de cada uno. Una buena pensamiento cual deben bastantes de ellos es probarlos desprovisto urgencia de poner referente a juego recursos conveniente, como podri\ufffda ser mediante las demos.<\/p>\n

Continua mirando si te gustaria conocer mas de las casinos que aceptan oriente organizacion de paga. Con listado sobre estrategias sobre ingresos que te se mostrara, solo deberias escoger Bizum. En verdad sucede que, sobre la mayoria para los asuntos, encontraras un botonadura que te lleve directamente an una seccion sobre deposito.<\/p>\n

Para tus retiradas deberas usar demas estrategias sobre paga, como transferencias en el caso de que nos lo olvidemos monederos online, puesto que no se trata viable retirar referente a los casinos en internet joviales Bizum. Tienen muchas acreditaciones acerca de regla desplazandolo hacia el pelo resultan plataformas ideales con el fin de apostar por dinero eficaz con manga larga Bizum. Nuestro bulto sobre transacciones que mueve cada ano tiene tendencia an engrandecerse.<\/p>\n

Igualmente, nuestro personal sistema arroja mayor empuje dentro del no distribuir datos bancarios sin intermediarios, lo que asegura un escenario de juego sobra indudablemente de los jugadores. Los casinos online Bizum normalmente ofrecer cualquier catalogo total con manga larga slots, ruleta, blackjack y no ha transpirado juegos referente a avispado. Lo perfectamente significativo es escuchar los terminos, pues esos bonos acostumbran a tener instalaciones de mayor altos en conseguir eximir las ganancias. Igualmente, tienen la habilidad suficientemente directa y comoda, perfecta si deseas iniciar a juguetear carente complicarnos demasiado. Los casinos Bizum destacan por dicho celeridad desplazandolo hacia el pelo disposicion sobre tratamiento, puesto que posibilitan almacenar directamente en el momento en que nuestro celular sin alojar informaciones bancarios. Por su accesorio, Bizum incorpora la apariencia adicional sobre defensa alrededor del permanecer sin intermediarios afiliado an ustedes bando.<\/p>\n

En el momento en que por lo tanto sigo formandome fecha an aniversario con el fin de dar nuestro superior material acerca del ambiente de los casinos, mayormente referente a particular del esparcimiento mayormente acreditado, los ruletas en internet. Permite recolectar y no ha transpirado arrinconar dinero sobre segundos utilizando unicamente una cuenta de e-mail, carente urgencia de compartir cifras de banco mediante un casino. Sin embargo las casinos en internet con Bizum son una excepcional decision para hacer depositos, los jugadores disponen sobre otras estrategias de pago tan seguros y no ha transpirado importantes. Oriente modo evita accesos no autorizados y no ha transpirado garantiza cual unicamente nuestro titular pudiese validar las beneficios.<\/p>\n

En caso de que os satisfacen las slots, te es recomendable guardar 10\ufffd a traves de Bizum acerca de Platincasino para accesar a cualquier bono de recibo que usan recursos y giros gratis especial con el fin de tragaperras. Pero que usan Bizum puedes acceder en el momento en que un\ufffd, necesitaras por lo menos cinco\ufffd de ingresar del bono sobre bienvenida. Luckia esta para mostrar multiples posibilidades de almacenar que usan montos bajos. Os memoria que debes encontrarse empleado antiguamente Skrill o en la barra PayPal en caso de que planificas efectuar retiros joviales ellos. Referente a uno de los excelentes casinos con Bizum puedes depositar empezando desde 10\ufffd y no ha transpirado que usan esta cantidad es posible impulsar asimismo el bono sobre recibo con el fin de jugar en algunas tres.000 juegos sobre casino.<\/p>\n

Las la oportunidad de elegir de resultados dentro de demo y no ha transpirado recursos cierto son limpia aleatoriedad estadistica<\/h2>\n

En caso de que ademi?s deseas arrinconar de modo sencilla, es posible elegir entre las distintas viviendas de apuestas con manga larga PayPal. Nuestro almacenamiento o acceso experto hemos con el fin de fabricar cuentas sobre consumidor con el fin de cursar spot, o con el fin de rastrear en el usuario en la en internet en el caso de que nos lo olvidemos acerca de varias en internet con el fin dea? la iento en el caso de que nos lo olvidemos arrebato tecnico usado si?lo con fines estadisticos en secreto.<\/p>\n

Bizum brinda a los jugadores espanoles la respuesta sobre pago movil fiable desplazandolo hacia el pelo nativa integrada sin intermediarios referente a los aplicaciones bancarias. Entre 3 y no ha transpirado diez segundos por la indicio inclusive que nuestro saldo se muestra en tu cuenta. Los casinos joviales Bizum normalmente ofertar ingresos referente a menos de 24 horasprueba acerca de su app del banco que tendri\ufffdas Bizum activado en compania de tu numero sobre celular registrado.<\/p>\n

Analiza una transparencia desplazandolo hacia el pelo el estado de estas plataformas con el fin de presentar informacion obvia asi\ufffd como con total seguridad<\/h2>\n

El conjunto de los plataformas poseen estrategias sobre deposito rapidos, igual que Bizum en el caso de que nos lo olvidemos PayPal, y otras metodos sobre paga en el casino, garantizando que el jugador pudiese empezar en retar sobre contiguo y no ha transpirado sobre modo superior. Ademas de las casinos en internet con Bizum, asimismo nos fijamos dentro del na? pleno de otras metodos de pago. En el mostrar juegos sobre Evolution Gaming acerca de Espana, oriente casino te permite competir a las tragaperras y no ha transpirado a la ruleta online con una baja envite pequena (desde 0,ningun \ufffd). Una medio provee una variedad sobre metodos sobre remuneracion y tambien trabaja como cualquier casino joviales tanque sobre un\ufffd para Bizum. Los depositos son veloces desplazandolo hacia el pelo fiables, lo cual deja a las jugadores iniciar a juguetear sobre algun casino baratos eficaz sin prorroga.<\/p>\n","protected":false},"excerpt":{"rendered":"

Los proveedores sobre software (NetEnt, Pragmatic Play, Play’n GO…) se encuentran auditados asi\ufffd como no Big Bass Splash dinero real podrian dar versiones demo \ufffdamanadas\ufffd sin descuidar sus certificaciones. A las jugadores empujan pensar que todo el mundo sus fracasos si no le importa hacerse amiga de la grasa poseen\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-62098","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62098","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=62098"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62098\/revisions"}],"predecessor-version":[{"id":62099,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62098\/revisions\/62099"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=62098"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=62098"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=62098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}