Guest User

AutoTags Wordpress Plugin

a guest
Jan 5th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.79 KB | None | 0 0
  1. <?php
  2. /*
  3. Plugin Name: AutoTags
  4. Plugin URI: http://www.cicklow.com/
  5. Description: Genera Tags Automaticamente
  6. Version: 1.01SHEEP
  7. Author: Cicklow
  8. */
  9.  
  10.  
  11.     function Agregar_Tags($ID, $post){
  12.         $KSY = extractCommonWords($post->post_content);
  13.         $TAGS = implode(', ', array_keys($KSY));
  14.         wp_set_post_tags( $ID , $TAGS, true );
  15.     }
  16.  
  17.     function extractCommonWords($string,$cant=20){
  18.         $stopWords = array("un","una","unas","unos","uno","sobre","todo","tambien","tras","otro","algun","alguno","alguna","algunos","algunas","ser","es","soy","eres","somos","sois","estoy","esta","estamos","estais","estan","como","en","para","atras","porque","por que","estado","estaba","ante","antes","siendo","ambos","pero","por","poder","puede","puedo","podemos","podeis","pueden","fui","fue","fuimos","fueron","hacer","hago","hace","hacemos","haceis","hacen","cada","fin","incluso","primero","desde","conseguir","consigo","consigue","consigues","conseguimos","consiguen","ir","voy","va","vamos","vais","van","vaya","gueno","ha","tener","tengo","tiene","tenemos","teneis","tienen","el","la","lo","las","los","su","aqui","mio","tuyo","ellos","ellas","nos","nosotros","vosotros","vosotras","si","dentro","solo","solamente","saber","sabes","sabe","sabemos","sabeis","saben","ultimo","largo","bastante","haces","muchos","aquellos","aquellas","sus","entonces","tiempo","verdad","verdadero","verdadera","cierto","ciertos","cierta","ciertas","intentar","intento","intenta","intentas","intentamos","intentais","intentan","dos","bajo","arriba","encima","usar","uso","usas","usa","usamos","usais","usan","emplear","empleo","empleas","emplean","ampleamos","empleais","valor","muy","era","eras","eramos","eran","modo","bien","cual","cuando","donde","mientras","quien","con","entre","sin","trabajo","trabajar","trabajas","trabaja","trabajamos","trabajais","trabajan","podria","podrias","podriamos","podrian","podriais","yo","aquel","tipo","este","puedes","poder","debes","deber","todos","todas","todo","toda","ano","anio","dia","mes","meses","dias","anos","semana","semanas","hora","horas","minuto","minutos");
  19.  
  20.         $string = _T($string);
  21.         $string = preg_replace('/\s\s+/i', '', $string); // sacar espacios
  22.         $string = trim($string); // trim the string
  23.         $string = preg_replace('/[^a-zA-Z0-9 -]/', '', $string); // solo caracteres alfanumericos
  24.         $string = strtolower($string); // convertir a minusculas
  25.    
  26.         preg_match_all('/\b.*?\b/i', $string, $matchWords);
  27.         $matchWords = $matchWords[0];
  28.        
  29.         foreach ( $matchWords as $key=>$item ) {
  30.             if ( $item == '' || in_array(strtolower($item), $stopWords) || strlen($item) <= 3 ) {
  31.                   unset($matchWords[$key]);
  32.             }
  33.         }  
  34.         $wordCountArr = array();
  35.         if ( is_array($matchWords) ) {
  36.             foreach ( $matchWords as $key => $val ) {
  37.                   $val = strtolower($val);
  38.                   if ( isset($wordCountArr[$val]) ) {
  39.                         $wordCountArr[$val]++;
  40.                   } else {
  41.                         $wordCountArr[$val] = 1;
  42.                   }
  43.             }
  44.         }
  45.         arsort($wordCountArr);
  46.         $wordCountArr = array_slice($wordCountArr, 0, $cant);
  47.         return $wordCountArr;
  48.     }
  49.  
  50.     function _T($mensaje){
  51.         $tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ´'";
  52.         $replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn--";
  53.         $mensaje = strtr($mensaje,$tofind,$replac);
  54.  
  55.         return $mensaje;
  56.     }
  57.  
  58.     function Left_AR($string,$count) {
  59.         $string = substr($string,0,$count);
  60.         return $string;
  61.     }
  62.  
  63.     function RW_sacaa($mensaje,$_S=''){
  64.         if($_S!="") $mensaje = str_replace(" ","",$mensaje);
  65.         $tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ´";
  66.         $replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn'";
  67.         $mensaje = strtr($mensaje,$tofind,$replac);
  68.         return $mensaje;
  69.     }
  70.  
  71. add_action( 'publish_post', 'Agregar_Tags', 10, 2 );
  72. ?>
Advertisement
Add Comment
Please, Sign In to add comment