Advertisement
vcgs

Piopialo Shortcode

Jan 10th, 2014
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.96 KB | None | 0 0
  1. Nota!! Mejor instala mi plugin Vcgs Toolbox (https://wordpress.org/plugins/vcgs-toolbox/) en vez de insertar el código...
  2.  
  3. // Víctor Campuzano Piopialo ...
  4. add_shortcode('piopialo', function ($atts, $content = null) {
  5.    
  6.     // Configuración por defecto - Edita estas variables si lo deseas
  7.     $directoa = true; // Añade etiquetas para que los links te lleven directamente a la frase y no al principio del post
  8.     $llamada = ''; // Texto de llamada a la acción, detrás del guión y antes del icono
  9.     $ivia = 'via @vcgs_net aquí:'; // Texto de firma / mención del Tuit
  10.     // -------------------------------------
  11.    
  12.     // Extraer y tratar los parámetros recibidos
  13.     extract(shortcode_atts(array(  
  14.         "go" => '1',
  15.          "text" => '',
  16.          "via" => '',  
  17.     ), $atts));
  18.     if ($go != 1) $directoa = false;
  19.     if ($text != '') $llamada = $text;
  20.     if ($via != '') $ivia = $via;
  21.    
  22.     if ($content != null) {
  23.        
  24.         // Obtener un ID "Unico" para este piopis. Como no podemos controlarlo, al ser shortcode
  25.         //   lo que finalmente he decidido es usar el primer caracteres. Así, puedes piopiar lo que quieras
  26.         //   en un mismo post siempre que no coincida el primer caracter. mejoraré esta limitación ...
  27.         if ($directoa) $tagid = 'piopialo-'.substr(preg_replace('/[^A-Za-z0-9]/', '',strip_tags($content)),0,1);
  28.        
  29.         // Obtener la URL codificada
  30.         $miurl = urlencode(get_permalink($post->ID).'#'.$tagid);
  31.        
  32.         // Codificar el texto . Nos dejamos 94 caracteres en esta versión
  33.         $texto = urlencode('"'.substr(strip_tags($content),0,116-strlen($ivia)).'" '.$ivia.' ');
  34.        
  35.         // Primero crear la etiqueta para enlazar directamente a este lugar
  36.         $ancla = $directoa ? '<a name="'.$tagid.'" id="'.$tagid.'"></a>':'';
  37.                
  38.         $enlace = '<a class="piopialo" href="http://www.twitter.com/intent/tweet/?text='.$texto.'&url='.$miurl.'"  title="Piopialo Ahora"> - '.$llamada.' <i class="fa fa-twitter"></i></a>';
  39.        
  40.         return $ancla.'<span class="piopialo">'.$content.'</span>'.$enlace;
  41.        
  42.     }
  43.    
  44. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement