Descripción
Scriptless Social Sharing es un pequeño plugin con el que añadir botones a tus entradas/páginas, para facilitar a tus lectores que compartan tu contenido en las redes sociales.
Los enlaces de compartir usan los métodos más básicos ofrecidos por cada red. No hay JavaScript, no se ha incluido nada extravagante en este plugin, así que si quieres algo vistoso este no es el plugin que estás buscando. Simplemente crea un conjunto de enlaces.
Los botones de compartir están accesibles – incluso si eliges los estilos de botón «Solo iconos», los nombres de las redes son aún parte de los botones, simplemente están ocultos de un modo accesible.
Hay una pequeña página de ajustes, para que puedas tomar decisiones sobre en qué tipos de contenido mostrar botones de compartir y dónde, qué botones añadir, y si usar o no los estilos del plugin. Además de eso, a los desarrolladores puede que les guste el uso de filtros en el plugin.
Crédito del banner/icono: Ryan McGuire en Gratisography.
Capturas
Instalación
- Sube la carpeta completa
scriptless-social-sharing
a tu directorio/wp-content/plugins
. - Activa el plugin desde el menú ‘Plugins’ de WordPress.
- Visita la página de «Ajustes > Sriptless Social Sharing» para cambiar el comportamiento por defecto del plugin.
FAQ
-
Scriptless uses SVG files to display the social network icons, or you can revert to using the old FontAwesome webfont.
También son una opción los botones de solo texto. Y, si prefieres flexbox para dar estilo a los elementos en las filas en vez de una tabla CSS, esto está ahora disponible en la página de ajustes.
-
Scriptless Social Sharing actualmente es compatible con las siguientes redes sociales:
- X (Twitter)
- Telegram
- Hatena Bookmark
- SMS
- Correo electrónico
Instagram does not support social sharing buttons.
-
¿Puedo cambiar los iconos en SVG?
-
Yes, using a filter, you can change which SVG icons are used. The plugin provides SVG alternatives for social networks if they are available.
Aquí tienes un ejemplo de cómo podrías cambiar a los iconos «cuadrados» en cada red (no todas redes lo tienen):
add_filter( 'scriptlesssocialsharing_svg_icons', 'rgc_use_square_icons' ); /** * Change the Scriptless Social Sharing SVG icons to use the square versions when available. * * @param $icons * * @return array */ function rgc_use_square_icons( $icons ) { $square_icons = array( 'email' => 'envelope-square', 'facebook' => 'facebook-square', 'pinterest' => 'pinterest-square', 'reddit' => 'reddit-square', 'twitter' => 'twitter-square', 'whatsapp' => 'whatsapp-square', ); return array_merge( $icons, $square_icons ); }
Want to use an icon not provided by the plugin? Load your own icons in your theme. As of version 3.2.0, the plugin uses SVG files directly, instead of sprite files. To use your own SVG files instead of the plugin’s, add them to your theme, in
assets/svg
. The plugin will use the theme icons in preference of the plugin. -
Buttons can be added in multiple places, or easily add support so you can add buttons anywhere you like. The default button locations are:
- Antes del contenido: al principio de la entrada, dentro del contenido de la entrada.
- Después del contenido: al final de la entrada, dentro del contenido de la entrada.
- Manual: selecciona esto si estás añadiendo botones con tu propio código (esto asegura que se carguen los estilos necesarios, y otras tareas habituales).
Para aprovechar las nuevas opciones de ubicación, debes visitar la página de ajustes del plugin y actualizar tus ajustes.
Nota: si tienes código que quita la visualización de los botones originales y los añade a mano, asegúrate de que has seleccionado «Manual» para la ubicación en cada tipo de contenido afectado.
La mejor manera de cambiar la ubicación de visualización del botón es usando un filtro. Este ejemplo cambia las ubicaciones utilizando el filtro
the_content
(conhook
establecido afalse
) para usar ganchos de acción en su lugar.add_filter( 'scriptlesssocialsharing_locations', 'prefix_change_sss_locations' ); function prefix_change_sss_locations( $locations ) { $locations['before'] = array( 'hook' => 'genesis_before_entry', 'filter' => false, 'priority' => 8, ); $locations['after'] = array( 'hook' => 'loop_end', 'filter' => false, 'priority' => 8, ); return $locations; }
Si usas Genesis Framework, hay un ajuste para decirle al plugin que use los ganchos de Genesis en su lugar.
-
¿Hay un bloque de Scriptless Social Sharing?
-
¡Sí!, se introdujo en la versión 3.0, el nuevo bloque de compartir te permite poner botones de compartir en cualquier parte de tu contenido. Añade sólo unos pocos botones o confía en la configuración por defecto definida en la página de ajustes.
-
¿Hay algún shortcode?
-
Desde la versión 2.0.0 puedes añadir botones de compartir directamente a tu contenido con un shortcode. Puedes personalizar lo que se ve, también. Por ejemplo, para añadir los botones a tu contenido, exactamente como los has configurado en tus ajustes, simplemente usa este shortcode:
[scriptless]
Si quieres quitar el encabezado prueba de este modo (o personaliza el encabezado añadiendo texto):
[scriptless heading=""]
¿Quieres que solo ciertos botones se muestren en el shortcode? Añádelos como un atributo del shortcode (separados por comas, sin espacios). Esto mostrará solo los botones de email y facebook:
[scriptless buttons="email,facebook"]
-
Sí. Primero tienes que decirle al plugin que puede, de hecho, funcionar en la página de archivo relevante:
add_filter( 'scriptlesssocialsharing_can_do_buttons', 'prefix_add_buttons_archives' ); function prefix_add_buttons_archives( $cando ) { if ( is_home() || is_tax() || is_category() ) { $cando = true; } return $cando; }
Luego puedes añadir los botones a tus entradas individuales (este ejemplo funciona solo con Genesis Framework):
add_action( 'genesis_entry_content', 'prefix_scriptlesssocialsharing_buttons_entry_content', 25 ); function prefix_scriptlesssocialsharing_buttons_entry_content() { if ( ! function_exists( 'scriptlesssocialsharing_do_buttons' ) ) { return; } $is_disabled = get_post_meta( get_the_ID(), '_scriptlesssocialsharing_disable', true ); if ( ! $is_disabled && ! is_singular() ) { echo wp_kses_post( scriptlesssocialsharing_do_buttons() ); } }
-
Sí, esto es así a propósito. Pinterest realmente realmente realmente quiere que tus entradas tengan una imagen. El botón de Pinterest se rompe si no hay una imagen. El plugin mira en tres lugares para encontrar alguna: 1) la imagen personalizada de Pinterest; 2) la imagen destacada de la entrada; y 3) si no hay establecida ninguna imagen destacada, coge la primera imagen subida a esa entrada específica. Llegados a este punto, si sigue sin haber ninguna imagen, en vez de poner un botón que no funcionará, el plugin no muestra un botón de Pinterest en esa entrada concreta.
-
¿Qué es esto de «Imagen personalizada de Pinterest»?
-
You can add an image for the plugin to use specifically for Pinterest, instead of the post’s featured image. This image will be added to the Pinterest sharing button as well as hidden in your content, so that the Pinterest bookmarklet will be able to «see» the image. Scroll down in the post editor sidebar to find where to add the custom image.
-
It has always been possible to add a custom sharing button with custom code, but version 3.2.0 makes this a little easier by creating a new helper function. You’ll access the helper function by using a filter. Here’s an example of how to add a button to share a post to Tumblr:
add_filter( 'scriptlesssocialsharing_register', 'prefix_scriptless_add_tumblr_button' ); /** * Adds a custom sharing button to Scriptless Social Sharing. * * @return void */ function prefix_scriptless_add_tumblr_button( $buttons ) { $buttons['tumblr'] = array( 'label' => __( 'Tumblr', 'scriptless-social-sharing' ), 'url_base' => 'https://www.tumblr.com/share/link', 'args' => array( 'query_args' => array( 'name' => '%%title%%', 'url' => '%%permalink%%', ), 'color' => '#35465c', 'svg' => 'tumblr-square', // Use this with the SVG icons and add the SVG file to your theme's `assets/svg` folder 'icon' => 'f173', // Use this when using the FontAwesome font for icons ), ); return $buttons; }
The
%%
are used to designate placeholders for the attribute variables that the plugin will apply when building the button.Note that there is both an
svg
and anicon
argument in the code sample.svg
is preferred, but only applies if you are using the SVG option for the sharing icons. To add a new icon, upload it to your theme’sassets/svg
directory and the plugin will use it automatically. If you are using the older FontAwesome option, useicon
to add the CSS unicode for the icon.
Reseñas
Colaboradores y desarrolladores
«Scriptless Social Sharing» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
Colaboradores«Scriptless Social Sharing» está traducido en 8 idiomas. Gracias a los traductores por sus contribuciones.
Traduce «Scriptless Social Sharing» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
3.2.4
- updated: SVG output has been updated for PHP 8 compatibility
3.2.3
- updated: Twitter is now X
3.2.2
- updated: script dependencies for the Scriptless block
- improved: Scriptless metabox can now be loaded regardless of location settings
- fixed: improved CSS class handling for the block
- dev: Scriptless now requires WordPress 5.2 or higher
- dev: additional filters have been added for the Pinterest button
3.2.1
- fixed: fatal error for sites without the mbstring extension installed
- fixed: new icons should not override the original SVG filter usage
3.2.0
- new: adding custom buttons is easier than ever with the new
scriptlesssocialsharing_register
filter (use described in FAQ) - new/improved: SVG icons are now used directly, instead of from a sprite file
- added: Hatena Bookmark sharing button (props @kyontan)
- added: minimum PHP version is 5.6
- updated: FontAwesome 5.15.4
- fixed: block editor check for old versions of WordPress
- fixed: PHP constants for older versions of PHP
- note: this is the final version of Scriptless which will support WordPress versions earlier than 5.2
3.1.6
- Añadido: Filtro para el tamaño de imagen de Pinterest
- Mejorado: Texto de botones de compartir en lectores de pantalla (los botones ahora dicen «Compartir en…»)
- Corregido: Saneado de post meta que estaba usando una función obsoleta en PHP 7.4
3.1.5
- actualizado: probado hasta WordPress 5.4
- corregido: la etiqueta de LinkedIn
3.1.4
- Añadido: Filtro en el elemento contenedor del botón
- actualizado: color de Twitter
- Corregido: Instancia de la clase del botón cuando se traducen los nombres de los botones
- corregido: estilos que no cargan en shortcodes fuera del contenido
3.1.3
- Corregido: Error fatal en la llamada a la clase del botón
3.1.2
- fixed: SMS link behavior
- fixed: custom color CSS for custom buttons when using flexbox
- fixed: block script enqueue
- fixed: custom buttons now have access to query args, base URL filters, which are preferable to filtering the final URL
3.1.1
- changed: HTML character decoding before URL encoding
- fixed: updated WhatsApp URL to use the API link instead of the shortened link due to issues on mobile
3.1.0
- added: links opening in new tabs are no noopener, noreferrer, and nofollow by default, and can be filtered
- added: filter on the link target
- added: custom class on the hidden Pinterest image
- added: option to prevent the Scriptless block from being registered
- improved: scriptlesssocialsharing_link_markup filter has access to all link attributes
- improved: link parameter decoding/encoding
- changed: source SVG is set to role=»img»
- updated: Font Awesome 5.10.2
- fixed: SVG role and aria attributes
- fixed: singular post check which was always returning true
3.0.1
- fixed: compatibility issue with WordPress versions before 5.0
3.0.0
- added: SVG icons
- added: buttons for Telegram and SMS
- added: show buttons as icons only, icon + text, or text only
- added: select default CSS style: table (old) or flexbox (new, now default)
- added: a block!
- added: Finnish translation, props Hannu Jaatinen of Jargon Oy
- changed: icon only buttons use screen-reader-text class for label
- changed: shortcodes/blocks can now use any button, not just those selected in settings
- updated: Font Awesome is now 5.8.2 when using the webfont
- removed: Google+
- removed: media uploader no longer shows only images attached to the current post
- fixed: Pinterest buttons properly pass on hashtags
2.3.0
- added: button for sharing on WhatsApp (props @yig)
- added: button for Pocket (props @rryyaanndd)
- added: ability to easily update the button display order
- added:
scriptlesssocialsharing_heading_element
filter to change heading level for sharing buttons - improved: custom Pinterest image defaults to show images uploaded to the current post
2.2.2
- changed: Google+ is now off for new users and will be removed in a future version
- changed: order of Pinterest button parameters to maybe reduce conflicts with lightbox plugins (props @pnwwebworks)
- fixed: overly aggressive sanitization of the custom Pinterest description which had issues with special characters (props @pnwwebworks)
2.2.1
- fixed: error on settings validation
2.2.0
- added: custom Pinterest description per post
- added: default email content setting
- changed: code reorganization
- fixed: email button should not open a new tab (props @salcode)
- fixed: initial Gutenberg compatibility
- fixed: end of content sharing buttons longer show after a shortcode if disabled
2.1.1
- changed: CSS autoprefixing; buttons are now hidden on print
2.1.0
- added: filter on the sharing link markup
- added: tabnapping fix on links
- fixed: button attributes on archives
- fixed: title encoding when special characters are present
2.0.1
- fixed: possible division by zero if Pinterest is the only button and there is no image
- fixed: special characters in post titles breaking Twitter share
2.0.0
- added: new settings to manage buttons output by content type
- added: a shortcode!
- added: link to the settings page from the Plugins page
- added: filter to manage button locations
- improved: URL construction methods now allow you to do things like add your own custom query args (props Sal Ferrarello)
- improved: if you’ve gone to the trouble of adding alt text to your featured images, thank you, and your Pinterest button will now use that (update from 1.5.2 applied to all featured images)
1.5.2
- improved: custom Pinterest image alt text will be preferred over post title, if alt text is set
- fixed: URL encoding for strings with spaces
1.5.1
- updated: Font Awesome (4.7.0)
1.5.0
- added: ability to set a custom Pinterest image
- added: «related» parameter to Twitter URL (props Ben Meredith)
- improved: filter methods for adding new buttons
- fixed: disappearing post meta settings
1.4.0
- added: option for button padding
- added: option for table width (width of all buttons)
- bugfix: errant + in some mail programs (props Anders Carlen)
1.3.0
- added: option to only show icons on buttons, no text
- added: Reddit sharing button
- added: option to add sharing buttons to the beginning or end of content
- updated: code cleanup for settings and output
- bugfix: post type setting was not saved correctly–settings should be resaved
1.2.2
- updated: Font Awesome 4.6.3
- fixed: error when a post is embedded in another site (feature introduced in WP 4.4) due to other checks being bypassed
1.2.1
- fixed: pinterest button is now protected from an overzealous pinit script
1.2.0
- added: setting to disable buttons on an individual post basis
- fixed: use repository language packs
1.1.0
- added: filter to disable heading on output
- added: filter for the post fallback image (because pinterest)
- fixed: made CSS a bit more specific to avoid theme conflicts
1.0.2
- Fix CSS for buttons
1.0.1
- add a fallback image method
- bugfix: don’t add Pinterest button if there is no image
1.0.0
- Added a settings page
- Prep for release on the WordPress repository
0.1.0
- Initial release on Github