Página 1 de 2 12 ÚltimoÚltimo
Mostrando resultados del 1 al 10 de 12
Like Tree4Me agrada

Tema: Thumbnails Completamente Automaticos en WP

  1. #1
    Avatar de Angel Ortega
    Angel Ortega esta en línea ahora Usuario Dseta
    Registro
    04-mayo-2010
    Ubicación
    Diseñando tus Ideas!
    Mensajes
    1.066
    CMS
    CMS Utilizado
    Ir a Angel Ortega página de inicio Mi Twitter
    Hola compañeros, viendo que muchos tienen problemas con los thumbnais en los themes, quería lanzar un servicio de implementación de thumbnails automaticos, pero pensándolo a conciencia, el script no lo hice yo, por lo tanto no seria bueno lucrar con el, lo tome de un theme de videos premium, aun así si alguien aun siguiendo los pasos no logra colocar correctamente sus thumbnails, o quiere estetizarlos con CSS, yo puedo implementarlo en sus plantillas a un módico precio.

    Bueno en fin, este es un excelente script, ya que igual te toma alguna imagen que tengas en tu post, como capturar una imagen de algún video de youtube u otro servidor de videos de este tipo, por lo cual es Excelente para sitios de videos, para que dejen de estarse matando subiendo los thumbnails a mano, si yo hubiese tenido ese código cuando tenia una pagina de videos, quizá no la hubiera vendido, ya que lo que jodía era sacar los thumbnails.

    Bueno sin mas choro, vais a meter el siguiente codigo dentro de el Functions.php de vuestro theme.

    Código PHP:
    function print_video_thumb_backward($post, &$thumb_url) {
        
    $video_id get_post_meta($post->ID'vids'true);
        if (! empty(
    $video_id)) {    
                
    $thumb_url 'http://img.youtube.com/vi/' $video_id '/2.jpg';
                return 
    1;
        }
    }



    function 
    print_video_thumb_supported_site($post,&$thumb_url) {
        
    $content $post->post_content;
        if (
    preg_match(video_pattern(),$content$match)) {
            
    // video found
            
    $content $match[0];
            
    preg_match('/^\[(\w+)/',$content,$video_type);
            switch (
    $video_type[1]) {
                case 
    'youtube':
                    
    preg_match('/v=(.*?)[\s&\[]/',$content,$video_id);
                    
    $thumb_url 'http://img.youtube.com/vi/' $video_id[1] . '/2.jpg';
                    return 
    1;
                case 
    'googlevideo':
                    
    preg_match('/docid=(.*?)[\s&\[]/',$content,$docid);
                    
    $url 'http://video.google.com/videofeed?docid=' $docid[1];
                
    $data get_url($url);
                    
    preg_match("/media:thumbnail url=\"([^\"]\S*)\"/siU",$data,$t_url); 
                    
    $thumb_url $t_url[1]; 
                    return 
    1;
                case 
    'vimeo':
                    
    preg_match('/\/(\d+)\[/',$content,$docid);
                    
    $url 'http://vimeo.com/api/clip/' $docid[1] . '.php';
                    
    $data get_url($url);
                    
    /* Bypass Vimeo Api problem: http://www.vimeo.com/forums/topic:11826 */
                    
    preg_match('/thumbnail_large"\;s:\d+:"(.*?)"/',$data,$t_url);
                    
    // $thumb_url = $t_url[0]['thumbnail_large'];
                    
    $thumb_url $t_url[1];
                    return 
    1;
                case 
    'flv':
                    
    preg_match('/\](.*?)\[/',$content,$url);
                    
    $thumb_url preg_replace('/\.((flv)|(swf)|(f4v))$/','.jpg',$url[1],1);
                    return 
    1;
                case 
    'quicktime':
                    
    preg_match('/\](.*?)\[/',$content,$url);
                    
    $thumb_url preg_replace('/\.mov$/','.jpg',$url[1],1);
                    return 
    1;
                case 
    'dailymotion':
                    
    preg_match('/\](.*?)\[/',$content,$url);
                    
    $data get_url($url[1]);
                    
    preg_match('/\.addVariable\("preview",\s*"(.*?)"\)/',$data,$t_url);
                    
    $thumb_url urldecode($t_url[1]);
                    return 
    1;
                case 
    'veoh':
                    
    preg_match('/\/watch\/([[:alnum:]]+)[\s&\[]/',$content,$docid);
                    
    $url 'http://www.veoh.com/rest/video/' $docid[1] . '/details';
                    
    $data get_url($url);
                    
    preg_match('/fullHighResImagePath="(.*?)"/'$data$t_url);
                    
    $thumb_url $t_url[1];
                    return 
    1;
                case 
    'viddler':
                    
    preg_match('/id=([[:alnum:]]+)/',$content,$docid);
                    
    $thumb_url 'http://cdn-thumbs.viddler.com/thumbnail_2_' $docid[1] . '.jpg';
                    return 
    1;
                case 
    'metacafe':
                    
    preg_match('/\/watch\/([0-9]+)\//',$content,$docid);
                    
    $thumb_url 'http://s4.mcstatic.com/thumb/' $docid[1] . '.jpg';
                    return 
    1;
                case 
    'blip':
                    
    preg_match('/posts_id=([[:alnum:]]+)/',$content,$docid);
                    
    $url 'http://blip.tv/rss/flash/' $docid[1];
                    
    $data get_url($url);
                    
    preg_match('/<blip:smallThumbnail>(.*?)<\/blip:smallThumbnail>/'$data$t_url);
                    
    $thumb_url $t_url[1];
                    return 
    1;
                case 
    'flickrvideo':
                    
    preg_match('/\](.*?)\[/',$content,$url);
                    
    preg_match('/\/([0-9]+)\/?\[/',$content,$docid);
                    
    $data get_url($url[1]);
                    
    preg_match('/\.video_thumb_src\s*=\s*\'(\S+)\';/',$data,$t_url);
                    
    $thumb_url $t_url[1];
                    return 
    1;
                case 
    'spike':
                    
    preg_match('/\/([0-9]+)\/?\[/',$content,$docid);
                    
    $thumb_url 'http://dyn.ifilm.com/resize/image/stills/films/resize/istd/' $docid[1] . '.jpg?width=160';
                    return 
    1;
            }
        }
    }

    function 
    print_video_thumb_custom_field($post,&$thumb_url) {
        
    $t get_post_meta($post->ID'video_thumb'true);
        if (! empty(
    $t)) {
            
    $thumb_url $t;
            return 
    1;
        }
    }

    function 
    print_video_thumb_first_post_image($post,&$thumb_url) {
        
    $content $post->post_content;
        if (
    preg_match('/<img[[:alnum:]\s-_=;:"\/]+src="(.*?)"/',$content$match)) {
            
    $thumb_url $match[1];
            return 
    1;
        }
    }

    function 
    print_video_thumb_unsupported_site($post,&$thumb_url) {
        
    $content $post->post_content;
        if (
    preg_match(video_pattern(),$content$match)) {
            
    // video found
            
    $content $match[0];
            
    preg_match('/^\[(\w+)/',$content,$video_type);
            switch (
    $video_type[1]) {
                case 
    'myspace':
                    
    $thumb_url get_template_directory_uri() . '/images/thumb_noimage.png';
                    return 
    1;
            }
        }
    }

    function 
    print_video_thumb($post) {
        
    print_video_thumb_backward($post,$thumb_url)
         || 
    print_video_thumb_custom_field($post,$thumb_url)
         ||    
    print_video_thumb_supported_site($post,$thumb_url)
         ||    
    print_video_thumb_first_post_image($post,$thumb_url)
         || 
    print_video_thumb_unsupported_site($post,$thumb_url);
        echo 
    get_video_thumb(get_permalink($post->ID), $post->post_title,
                        
    $thumb_url);
    }

    function 
    get_video_thumb($url,$title,$img) {
        return 
    '<a href="' $url '" title="' $title '"><img src="' .
            
    $img '" alt="' $title '" width="90px" height="90px" /></a>';
    }

    function 
    print_video($post) {
        
    // Backword compatibility with standard Videographer
        
    $video_id get_post_meta($post->ID'vids'true);
        if (! empty(
    $video_id)) {
                echo 
    '<div class="vid">';
                
    wpyoutube('video'$video_id);
                echo 
    '</div>';
                return;
        }
        
    $content $post->post_content;
        if (
    preg_match(video_pattern(),$content$match)) {
            
    // video found
            
    $content $match[0];
            
    $content apply_filters('the_content'$content);
            echo 
    $content;
        }
    }

    function 
    video_pattern() {
        
    $pattern '/
              (\[youtube(.*?)\[\/youtube\])                     # YouTube video
            | (\[googlevideo(.*?)\[\/googlevideo\])     # Google video
            | (\[vimeo(.*?)\[\/vimeo\])                             # Vimeo video
            | (\[flv(.*?)\[\/flv\])                                         # Flash video
            | (\[quicktime (.*?)\[\/quicktime \])            # Quicktime video
            | (\[dailymotion (.*?)\[\/dailymotion \])    # Quicktime video
            | (\[veoh (.*?)\[\/veoh \])                                # Veoh video
            | (\[viddler\s+([[:alnum:]=&;]+)\])                # Viddler video
            | (\[metacafe (.*?)\[\/metacafe \])                # Veoh video
            | (\[blip\.tv\s+\?([[:alnum:]_=\-&;]+)\])    # Blip.tv video
            | (\[flickrvideo (.*?)\[\/flickrvideo \])    # Flickr Video video
            | (\[spike (.*?)\[\/spike \])                            # Spike.com video
            | (\[myspace (.*?)\[\/myspace \])                    # MySpace video
            /mx'
    ;
        return 
    $pattern;
    }

    function 
    get_the_content_video($more_link_text null$stripteaser 0$more_file '')
    {
      
    $content get_the_content($more_link_text$stripteaser$more_file);
        
    // remove first video just show in print_video()
        
    $content preg_replace(video_pattern(),'',$content,1);
      
    $content apply_filters('the_content'$content);
      
    $content str_replace(']]>'']]&gt;'$content);
      return 
    $content;
    }

    function 
    the_content_video($more_link_text null$stripteaser 0$more_file '') {
        echo 
    get_the_content_video($more_link_text$stripteaser$more_file);
    }

    function 
    get_url($url) {
        
    $fp fopen$url'r' );
         
    $data "";
         while( !
    feof$fp ) ) {
             
    $buffer trimfgets$fp4096 ) );
             
    $data .= $buffer;
         }
        return 
    $data;

    En donde habrá que modificar la siguiente linea para definir el tamaño en pixeles que queramos para los thumbnails.

    Código PHP:
    function get_video_thumb($url,$title,$img) {
        return 
    '<a href="' $url '" title="' $title '"><img src="' .
            
    $img '" alt="' $title '" [B]width="90px" height="90px"[/B] /></a>';

    Una vez definido el tamaño que queramos, tendremos que ir a ver en las opciones del escritorio de wordpress , que el tamaño por defecto de los thumbnails no sea menos al que establecimos en el script, de ser así , deberemos ajustarlo, para que nos permita el tamaño que le dimos al script.

    Ya por ultimo, tendremos que poner el siguiente código, en el index.php, o single.php, o archive.php, en fin donde queramos que aparezca el thumbnail.

    Código PHP:
    <?php print_video_thumb($post?>
    Para complementar, podemos poner un <?php the_excerpt() ?>, en vez de <?php the_content() ?> para hacer entradas cortas con un "Leer Mas".

    Y como cereza del pastel aquí les dejo otro código a meter en el Functions.php, para tener el control de palabras que queramos que se maneje en el excerpt.

    Código PHP:
    function new_excerpt_length($length) {
        return 
    50;
    }
    add_filter('excerpt_length''new_excerpt_length');
    function 
    new_excerpt_more($more) {
        return 
    '[..m&aacute;s]';
    }
    add_filter('excerpt_more''new_excerpt_more'); 
    donde "50" es el numero de palabras default, que puedes ampliar o reducir al gusto.

    Si te sirvió esta pequeña explicación, no te tientes el corazón y dale al dedito verde :p , igual se aceptan donaciones xD

    Saludos,
    Angel
    Felipe, aisa, TheLukasWeb y 1 otros les agrada esto.


    [ Diseño Profesional de Themes Wordpress | ExecutiveStudio ]
    >>VENDO THEME PERSONALIZADO Y OPTIMIZADO<<
    Haz las Cosas bien, y rendirán sus frutos


  2. #2
    Avatar de George Albert
    George Albert está desconectado Usuario Epsilon
    Registro
    20-junio-2010
    Ubicación
    Mexico
    Mensajes
    816
    CMS
    CMS Utilizado
    Ir a George Albert página de inicio Mi Twitter Mi Facebook
    Muy buena informacion men la probare para mis proximos proyectos ^^

  3. #3
    Avatar de HADES-X
    HADES-X esta en línea ahora Usuario Mi
    Registro
    13-agosto-2009
    Ubicación
    Rosario
    Mensajes
    3.461
    CMS
    CMS Utilizado
    Mi Twitter
    Excelente!!

  4. #4
    Avatar de Pixel
    Pixel está desconectado Usuario Epsilon
    Registro
    16-abril-2010
    Ubicación
    Medellín - Colombia
    Mensajes
    936
    CMS
    CMS Utilizado
    Ir a Pixel página de inicio Mi Twitter
    Me cae como anillo al dedo, lo iba a buscar

    ¡Si me funciono!
    Sirve para imágenes y videos Excelente
    «Money is the anthem, God you are so handsome. Money is the anthem of sucess.»

  5. #5
    Avatar de Angel Ortega
    Angel Ortega esta en línea ahora Usuario Dseta
    Registro
    04-mayo-2010
    Ubicación
    Diseñando tus Ideas!
    Mensajes
    1.066
    CMS
    CMS Utilizado
    Ir a Angel Ortega página de inicio Mi Twitter
    @ Pixel, que bueno que te sirvio, la verdad es que es muy bueno, ya que como dices toma tanto imagenes como videos y hace el thumbnail, cosa que no cualquier codigo de estos hace.


    [ Diseño Profesional de Themes Wordpress | ExecutiveStudio ]
    >>VENDO THEME PERSONALIZADO Y OPTIMIZADO<<
    Haz las Cosas bien, y rendirán sus frutos


  6. #6
    Avatar de Chamako
    Chamako está desconectado Usuario Dseta
    Registro
    12-abril-2010
    Ubicación
    En el lugar mas lejano que puedas imaginar
    Edad
    18
    Mensajes
    1.205
    CMS
    CMS Utilizado
    Ir a Chamako página de inicio Mi Twitter Mi Facebook
    Gracias por la ayuda que a veces muchos necesitamos...

    Quizas un ejemplo o un demo para los que no saben como quedara o que es el thumbail.
    Adquiriendo el Prototipo de la Gran Ciudad
    SeriesCity - PeliculasCity - MusicaCity - Mi Blog Personal - PeruPic - Fotos del Perú - Juego Dota

  7. #7
    Avatar de Angel Ortega
    Angel Ortega esta en línea ahora Usuario Dseta
    Registro
    04-mayo-2010
    Ubicación
    Diseñando tus Ideas!
    Mensajes
    1.066
    CMS
    CMS Utilizado
    Ir a Angel Ortega página de inicio Mi Twitter
    bueno yo lo uso en queFail.com | Lo mas divertido de la Red. en las categorias


    [ Diseño Profesional de Themes Wordpress | ExecutiveStudio ]
    >>VENDO THEME PERSONALIZADO Y OPTIMIZADO<<
    Haz las Cosas bien, y rendirán sus frutos


  8. #8
    frapas está desconectado Usuario Alfa
    Registro
    13-septiembre-2010
    Mensajes
    18
    Buenas a todos , primero de todo presentarme , soy frapas y estoy montando una web de videos . El tema de los thumbnails me parecio muy interesante , he copiado todo el codigo aquí mencionado y me genera los thumbnails perfectamente cuando hay una imagen en el post , pero no cuando es un video de youtube que seria lo increible .

    No se si los videos se han de postear dentro con algun codigo especial de las funciones ya que lo hago metiendo el embeed de youtube . Es correcto?


    Muchas gracias de antemano.

  9. #9
    Avatar de Angel Ortega
    Angel Ortega esta en línea ahora Usuario Dseta
    Registro
    04-mayo-2010
    Ubicación
    Diseñando tus Ideas!
    Mensajes
    1.066
    CMS
    CMS Utilizado
    Ir a Angel Ortega página de inicio Mi Twitter
    hola como ya te comente en mp, yo lo tengo provado con el plugin vipers video quicktags y al parecer no funciona con los embed, solamente dentro de etiquetas del tipo

    Asi como lo demuestra esta parte del codigo
    (\[youtube(.*?)\[\/youtube\]) # YouTube video
    | (\[googlevideo(.*?)\[\/googlevideo\]) # Google video
    | (\[vimeo(.*?)\[\/vimeo\]) # Vimeo video
    | (\[flv(.*?)\[\/flv\]) # Flash video
    | (\[quicktime (.*?)\[\/quicktime \]) # Quicktime video
    | (\[dailymotion (.*?)\[\/dailymotion \]) # Quicktime video
    | (\[veoh (.*?)\[\/veoh \]) # Veoh video
    | (\[viddler\s+([[:alnum:]=&;]+)\]) # Viddler video
    | (\[metacafe (.*?)\[\/metacafe \]) # Veoh video
    | (\[blip\.tv\s+\?([[:alnum:]_=\-&;]+)\]) # Blip.tv video
    | (\[flickrvideo (.*?)\[\/flickrvideo \]) # Flickr Video video
    | (\[spike (.*?)\[\/spike \]) # Spike.com video
    | (\[myspace (.*?)\[\/myspace \]) # MySpace video
    /mx';

    Por lo que deberas usar el plugin que te digo o algun otro que inserte los videos de ese modo.

    Saludos


    [ Diseño Profesional de Themes Wordpress | ExecutiveStudio ]
    >>VENDO THEME PERSONALIZADO Y OPTIMIZADO<<
    Haz las Cosas bien, y rendirán sus frutos


  10. #10
    frapas está desconectado Usuario Alfa
    Registro
    13-septiembre-2010
    Mensajes
    18
    Buenassss , he probado el plugin que me has comentado y perfecto , a la primera . Lo que no se es porque no funcionava al postearle un embeed o el link del video en el post , ya que en las funciones hace una busqueda en el_content () de las expressiones regulares youtube y según he podido comprobar habia coincidencia o sea que lo encontrava pero al pasarle el codigo de video habia algun error.

    Ahora me genera ya los dos tipos de thumbnails para imagenes y videos.

    Gracias

Página 1 de 2 12 ÚltimoÚltimo

Información del tema

Users Browsing this Thread

Actualmente hay 1 usuarios leyendo este tema. (0 miembros y 1 invitados)

Temas Similares

  1. Respuestas: 7
    Último mensaje: 12-oct-2010, 22:22
  2. Probaron submitters automaticos a directorios?
    Por Tony Speedman en el foro Linkbuilding
    Respuestas: 13
    Último mensaje: 24-may-2010, 05:47
  3. Quitar pagos automaticos
    Por Dracken en el foro Adsense
    Respuestas: 4
    Último mensaje: 11-sep-2009, 09:09
  4. Los Contenidos automaticos ¿Funcionan?
    Por Galachadas en el foro Optimización de buscadores
    Respuestas: 7
    Último mensaje: 31-ago-2009, 08:34

Normas de Publicación

  • No puedes crear nuevos temas
  • No puedes responder mensajes
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •