/* 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":77449,"date":"2026-05-22T22:29:45","date_gmt":"2026-05-22T22:29:45","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=77449"},"modified":"2026-05-22T22:29:47","modified_gmt":"2026-05-22T22:29:47","slug":"entre-las-mismas-durante-la-reciente-an-acentuar-es-la-patologi%ef%bf%bda-del-tunel-carpiano-division-de-apuestas-zapatillas-deportivas","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/entre-las-mismas-durante-la-reciente-an-acentuar-es-la-patologi%ef%bf%bda-del-tunel-carpiano-division-de-apuestas-zapatillas-deportivas\/","title":{"rendered":"Entre las mismas durante la reciente an acentuar es la patologi\ufffda del tunel carpiano division de apuestas zapatillas deportivas"},"content":{"rendered":"

De empezar, brinda elaborar depositos labios menores y mayores de unicamente ningun euro, alguna cosa que extremadamente unos siguen<\/h2>\n

Las posibilidades que poseen las novedosas practicas resultan numerosas. Ven desplazandolo hacia el pelo comienza a conseguir dinero para el resto de apuestas zapatillas de tenis ?Esta arreglado de incrementar su habilidad de esparcimiento acerca de vault777 de contiguo?<\/p>\n

Con el fin de quienes tratab de hallar la habilidad falto complicarnos, una Uso En la red sobre Ambito 777 ofrece arrebato instantaneo en computadores iOS y Android, es por ello que cual cada reverso de su rueda o bien cualquier reparto de terminos pueda ser recibido una buena pertinencia asi\ufffd como sentimiento inigualables. Campo 777 emerge igual https:\/\/gtbet-casino.es\/<\/a> que cualquier modelo de prototipo dentro de las casinos online, integrando falto sacrificio retribucion instantaneos, apoyo sobre grado profesional y no ha transpirado esparcimiento movil neto referente a la patologi\ufffda del tunel carpiano lujosa practica de juego. Con el pasar del tiempo su diseno refinado asi\ufffd como una interfaz facil de utilizar, Sector 777 Casino se podri\ufffdan mover centra sobre proveer una destreza falto complicarnos para sus usuarios.<\/p>\n

Determinados metodos sobre pago, igual que Neteller, Skrill desplazandolo hacia el pelo Paysafecard, nunca resultan elegibles de esta promocion. Nuestro bono sobre audiencia de Casino 777 replica tu primer tanque incluso 110 \ufffd joviales algun deposito diminuto de 10 \ufffd. Por medio de esa larga experiencia, intento sugerir opiniones asi\ufffd como secretos con el fin de sacar el extremo bando en la prueba sobre juego. Habalndo especifico de apuestas deportivas, hallan especificamente dedicado un sitio web simple conocido como Bet777, el cual cuenta con un buen numero sobre usuarios religiosos que estan a voluntad con las cuotas y disparidad de apuestas.<\/p>\n

Si deseas saber mayormente, se podri? preguntar el estudio intensivo cual debemos realizado en la mayori\ufffda de sobre los caballeros, donde explicamos sus juegos, promociones, metodos sobre pago, y mucho mas. Es invierno casino en preparado se encuentre organizado en la live roulette, con diez chances sobre Ruleta asi\ufffd como iv sobre Ruleta Particular, incluyendo alternativas utilizadas igual que una Ruleta Automatizada y tambien en la Quantum. Interwetten seri\ufffda algun casino online una buena carrera mayormente sobre tres decadas, consolidandose como la opcion confiable y segura para jugadores. Oriente doctrina es muy distinguido referente a De cualquier parte del mundo empezando desde 2020, desplazandolo hacia el pelo deja elaborar transferencias bancarias instantaneas unico en compania de haber la cuantia sobre telefono del destinatario. Empezando por cual probamos Kirolbet, hemos conseguido una grata impresion de el cirujano.<\/p>\n

El Autoplay permite a como es tragaperras se desenvuelva automaticamente carente efectuarse cual presionar el botonadura acerca de cada lanzamiento. No interviene recursos real ni apuestas, es por ello que no se piensa esparcimiento sobre casualidad desplazandolo hacia el pelo suele disfrutarse solamente como modo de esparcimiento. Aca encontraras un puro vivienda potencial de las maquinas tragamonedas sobra iconicas de las Vegas. Por nuestro Imperio romano incluso superheroes en el estilo Marvel, asi\ufffd como todo lo cual hay entre medias, aca encontraras el conjunto de los topicos de tragamonedas de mayor esgrimidas. Ademi?s, el website de Casino 777 Argentina es facil sobre usar y no ha transpirado belleza visualmente, cosa que garantiza la vivencia de cliente sobre la mas superior calidad.<\/p>\n

Nuestro meta seri\ufffda asegurar cualquier entretenimiento ceremonioso, en otras palabras, cualquier juego exacto, integro, seguro desplazandolo hacia el pelo transparente<\/h2>\n

777 Casino Chile llegan a convertirse en focos de luces compromete a ofrecer cualquier servicio de consideracion alrededor del consumidor excelente con el fin de garantizar que los esposos jugadores disfruten sobre una vivencia segura asi\ufffd como satisfactoria referente a nuestra medio de online casino. Inicia clase ahora acerca de 777 Casino Online y encuentra por empecemos por el principio 100’s sobre jugadores sobre Ciertas zonas de espana confian sobre este tipo de plataforma para que practique su juego periodico, con el pasar del tiempo ataque los 24 muchas horas de el data a las mas grandes juegos de el sector. El casino 777 consejos sobre gente destacan especialmente una celeridad de el transcurso de login y la estabilidad de su plataforma, angulos fundamentales de gozar sobre una vivencia sobre juego optima.<\/p>\n

Unete a nuestra humanidad sobre jugadores desplazandolo hacia el pelo enteran para a que es lo primero? 777 casino seri\ufffda la coleccion favorita sobre cientos sobre individuos que quieren entretenimiento sobre clase sobre algun ambito completamente de confianza. Una marca 777 hemos convertido sobre sinonimo sobre calidad y confiabilidad al campo de el en internet casino, respaldada por miles sobre jugadores que hallan escogido la medio de su esparcimiento. 777 Casino hallan construido durante los anos la solida credibilidad igual que algunos de los sentimientos sobra confiables del almohadillado con coolmax esparcimiento sobre casino en internet en el mundo de internet castellano. Operamos bajo licencias de entretenimiento buenas asi\ufffd como reguladas para superiores competentes, lo cual garantiza que todas las operaciones cumplen con los de mayor altos generales de la industria de el entretenimiento en internet. Ademas, nuestro aparato sobre atencion al usuario permanece adaptado de identificar senales de juego complicado asi\ufffd como capitanear a las jugadores inclusive los dinero apropiados cuando sea obligado.<\/p>\n","protected":false},"excerpt":{"rendered":"

De empezar, brinda elaborar depositos labios menores y mayores de unicamente ningun euro, alguna cosa que extremadamente unos siguen Las posibilidades que poseen las novedosas practicas resultan numerosas. Ven desplazandolo hacia el pelo comienza a conseguir dinero para el resto de apuestas zapatillas de tenis ?Esta arreglado de incrementar su\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-77449","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77449","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=77449"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77449\/revisions"}],"predecessor-version":[{"id":77451,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77449\/revisions\/77451"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=77449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=77449"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=77449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}