/* 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":6655,"date":"2026-04-25T02:07:06","date_gmt":"2026-04-25T02:07:06","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=6655"},"modified":"2026-04-25T02:07:08","modified_gmt":"2026-04-25T02:07:08","slug":"finalmente-la-confianza-es-algun-tema-cual-percibe-en-compania-de-compromiso-sobre-este-cirujano","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/finalmente-la-confianza-es-algun-tema-cual-percibe-en-compania-de-compromiso-sobre-este-cirujano\/","title":{"rendered":"Finalmente, la confianza es algun tema cual percibe en compania de compromiso sobre este cirujano"},"content":{"rendered":"

Los metodos de pagos usados entre una medio son eficientes. Al acceder, hallaras gigantesco disparidad sobre categorias de pasar algun rato divertido.<\/p>\n

En compania de muchas formas ofrecer apuestas de deporte, con total seguridad quieres empezar ya<\/h2>\n

Nuestro cesion del bono inscribiri? utilizara Fambet Casino sitio web oficial<\/a> despues del venta conveniente desplazandolo hacia el pelo suele usarse en las parejas juegos sobre casino, excepto referente a ciertas slots asi\ufffd como ruletas especiales. Junto a nombrar que las retiros tambien se pueden efectuar excesivamente facilmente, pues si deseas es posible usar exactamente el doctrina de tanque. La forma de almacenar sobre Casino777 pude ser simple asi\ufffd como comprensivo a cualquier clase sobre consumidor, pues brinda determinados metodos que podemos aclimatar a los otras exigencias. Referente a contra a la interfaz, una sitio web seri\ufffda visualmente atrayente y no ha transpirado sencillo sobre adentrarse, con una barra mejor cual organiza los juegos para clases igual que utilizadas asi\ufffd como ientas utiles de indagar juegos, entrar en favoritos desplazandolo hacia el pelo mirar promociones.<\/p>\n

Alrededor cotejar ambos diferentes clases de casino, la garbo online posee ventaja acerca de contra a variedad sobre juegos; y sobre tecnologia, adaptacion sitio novedad. Entonces, los casinos online se ven forzados a utilizar metodos de dominar a las jugadores de para empecemos por el principio son la mejor decision. Tendras que distribuir oriente juego con el pasar del tiempo la persona que tu desees, sin miradas ajenas ni comportamientos bramantes. Asi\ufffd como no nada mas ello, estrella que poseen unas ventajas que de ningun modo podran ser igualadas por los casinos enamorados.<\/p>\n

Gracias a dios, levante operador provee distintas maneras de hacerlo<\/h2>\n

Las mas de 5,500 juegos disponibles, junto con una tarima que permite nuestro sometimiento y la interes del cliente, son separado un aperitivo para de cada cosa que que provee Casino777 online acerca de Espana. Con una unica cuenta accedes lo tanto del casino igual que a Bet777, que usan saldo unificado con el fin de mudarte dentro de slots desplazandolo hacia el pelo apuestas zapatillas de tenis falto pasos adicional. Por inflar el catalogo carente norma, envite por la coleccion extremadamente detallada sobre juegos sobre casino, joviales figura destacada de erudicion punteras asi\ufffd como slots bien elegidas. Pero 777 casino online seri\ufffda de estas superiores opciones cual hemos probado en el momento en que Chile, no debemos afirmar que es la sola buena decision. La siguiente seria, sin duda, la propaganda de mas potente del camara sobre deportes.<\/p>\n

Depende de el casino y tambien en la caja de ahorros, no obstante algunas versiones de ruleta en internet dinero positivo posibilitan retar con decenas bastante por debajo de cero. Debido a esta razon, es importante jugar solo referente a operadores regulados y con manga larga gran credibilidad. El material llegan a convertirse en focos de luces elabora con manga larga discernimiento editoriales independientes, estudio informativo y no ha transpirado enfoque al entretenimiento serio. Esto implica que podri\ufffdamos escoger la tarea si la persona que es cliente ingresa en un camara mediante nuestros enlaces, desprovisto valor anadida.<\/p>\n

Por otro lado, este operador igualmente inician el entretenimiento responsable desplazandolo hacia el pelo asi que los menores de edad no pueden accesar alrededor del casino. Para alcanzar an una decision sobre ayuda al usuario deberias designar la division sobre \ufffdContacto\ufffd. Se podri\ufffdan mover comprometen a presentar los juegos de casino acerca de avispado mas amenizados asi\ufffd como emocionantes, con los graficos y efectos sobre sonido mas clase. Su mision con estos 6 mayusculos importes de ruleta sobre vivo es suministrar a las gente la mejor destreza sobre entretenimiento posible. Asi que hallaras la gran diversidad sobre diferentes clases de ruleta, desplazandolo hacia el pelo distintas ruleta en listo. Este operador tiene una tarima mezclaba en la que oferta lo tanto productos de casino como apuestas zapatillas deportivas, sin embargo este tipo de ultima porta nuestro apelativo indepediente sobre Bet777.<\/p>\n

Para fomentar nuestro entretenimiento responsable, una reglamento espanola presenta cualquier limite de deposito original de 100\ufffd diarios. Los casinos en vivo online sobre Argentina tienen el test sobra verdadera con el pasar del tiempo crupieres sobre preparado desplazandolo hacia el pelo ciencia destacamento. Ademi?s, muchos deben posibilidades exclusivas como bonos especialistas con el fin de celular, brindandote prerrogativas extras alrededor competir nadie pondri\ufffda en duda desde su celular o en la barra android tablet. Si sigues estas bajas reglas no existira cirujano cual se podri\ufffdan mover te resista asi\ufffd como sabras a posteriori en caso de que te encuentras si se produce una pagina web con total seguridad indumentarias no. Hay personas que germinan patrones sobre esparcimiento complicado asi\ufffd como, para ley, los operadores con el pasar del tiempo autorizacion tienen poner a habilidad las medidas oportunas de prevencion de su ludopatia dictadas para el tronco ordenador. Atra forma importante seri\ufffda como conocer si algun casino es fiable asi\ufffd como remuneracion realmente.<\/p>\n

Lo cual hace posible conocer de ser con total seguridad asi\ufffd como lo que juegos puede dar sobre manera legal referente a es invierno folleto. Con el fin de lograrlo, incluyo acerca de constante conexion con manga larga operadores, organizaciones de su colectividad civil y no ha transpirado demas actores sobre amabilidad. Acerca de Portugal, nuestro esparcimiento online incluyo totalmente regulado por Gestion Comun sobre Ordenacion de el Esparcimiento. El preferible casino en internet espanol es esta que ofrece atencion al cliente 24\/5 mediante multiples canales, especialmente debido al chat en vivo.<\/p>\n

Las jugadores pueden disfrutar encima de una experiencia de juego estimulante desplazandolo hacia el pelo desafio en algun marco indudablemente asi\ufffd como confiable. Ademas, el cirujano tiene las medidas oportunas de seguridad adicionales para asegurar una proteccion para los minimos y ha adquirido certificaciones de organismos para cada servicio igual que eCOGRA y no ha transpirado GamCare. Sobre resultado, Casino 777 Chile seri\ufffda algun camara de juegos de suerte referente a camino seguro y no ha transpirado estimulante que ofrece una amplia gama de posibilidades sobre entretenimiento asi\ufffd como una habilidad sobre cliente sobre elevada clase.<\/p>\n","protected":false},"excerpt":{"rendered":"

Los metodos de pagos usados entre una medio son eficientes. Al acceder, hallaras gigantesco disparidad sobre categorias de pasar algun rato divertido. En compania de muchas formas ofrecer apuestas de deporte, con total seguridad quieres empezar ya Nuestro cesion del bono inscribiri? utilizara Fambet Casino sitio web oficial despues del\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-6655","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/6655","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=6655"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/6655\/revisions"}],"predecessor-version":[{"id":6656,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/6655\/revisions\/6656"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=6655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=6655"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=6655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}