Problema con Thumb en Busy Bee Theme

Inicio Foros WordPress Themes y Diseño Problema con Thumb en Busy Bee Theme

Este debate contiene 8 respuestas, tiene 3 mensajes y lo actualizó  Camelot hace 9 años, 5 meses.

  • Autor
    Publicaciones
  • #12150

    brunobattaglia
    Participante

    <p>Hola muchachos</p>
    <p>Mi nombre es Bruno Battaglia y este es mi primer post en este foro. Grandioso foro en todo caso, me entusiasme y me hice una cuenta para participar.</p>
    <p>Bueno, tengo un problema. hace un rato instalé un theme para un blog que estoy preparando para mí. El theme es Busy Bee y no he podido arreglar un problema con el Custom Field IMAGE. Subo la imagen en el post y luego agrego en el Custom Field la url de la imagen, pero de todas maneras no me muestra el thumb en el blog, me explique bien?</p>
    <p>Espero alguien pueda ayudarme en esto, quizas es un problema con el php o algo más, realmente no lo he podido solucionar ya que no se mucho sobre esto.</p>
    <p>Saludos.
    </p>

  • #26138

    imported_study
    Participante

    Mas datos un link y un poco de codigo fuente puede ser.

  • #26142

    brunobattaglia
    Participante

    Acá va la url de mi blog:

    http://brunobattaglia.site40.net/wordpress/

    aqui eñ codigo del thumb.php

    [code]<?php

    // TimThumb script created by Tim McDaniels and Darren Hoyt with tweaks by Ben Gillbanks
    // http://code.google.com/p/timthumb/

    // MIT License: http://www.opensource.org/licenses/mit-license.php

    /* Parameters allowed: */

    // w: width
    // h: height
    // zc: zoom crop (0 or 1)
    // q: quality (default is 75 and max is 100)

    // HTML example: ""

    if( !isset( $_REQUEST[ "src" ] ) ) { die( "no image specified" ); }

    // clean params before use
    $src = $_REQUEST[‘src’];
    // possibles?
    //$src = preg_replace( "/^(.+(/|))+/", "", $src );
    //$src = str_replace( "../", "", $src );
    //$src = preg_replace( ‘/^(s?f|ht)tps?://[^/]+/i’, ”, $src );
    $src = preg_replace( "/(?:^/+|.{2,}/+?)/", "", $src );
    $src = preg_replace( ‘/^w+://[^/]+/’, ”, $src );
    $new_width = preg_replace( "/[^0-9]+/", "", $_REQUEST[ ‘w’ ] );
    $new_height = preg_replace( "/[^0-9]+/", "", $_REQUEST[ ‘h’ ] );
    $zoom_crop = preg_replace( "/[^0-9]+/", "", $_REQUEST[ ‘zc’ ] );

    if( !isset( $_REQUEST[‘q’] ) ) { $quality = 80; } else { $quality = preg_replace("/[^0-9]/", "", $_REQUEST[‘q’] ); }

    // set path to cache directory (default is ./cache)
    // this can be changed to a different location
    $cache_dir = ‘./cache’;

    // get mime type of src
    $mime_type = mime_type( $src );

    // check to see if this image is in the cache already
    check_cache( $cache_dir, $mime_type );

    // make sure that the src is gif/jpg/png
    if( !valid_src_mime_type( $mime_type ) ) {
    $error = "Invalid src mime type: $mime_type";
    die( $error );
    }

    // check to see if GD function exist
    if(!function_exists(‘imagecreatetruecolor’)) {
    $error = "GD Library Error: imagecreatetruecolor does not exist";
    die( $error );
    }

    // set document root
    $doc_root = $_SERVER[‘DOCUMENT_ROOT’];

    // get path to image on file system
    $src = $doc_root . ‘/’ . $src;

    if(strlen($src) && file_exists( $src ) ) {

    // open the existing image
    $image = open_image($mime_type, $src);
    if ($image === false) { die (‘Unable to open image : ‘ . $src ); }

    // Get original width and height
    $width = imagesx($image);
    $height = imagesy($image);

    // generate new w/h if not provided
    if($new_width && !$new_height) {
    $new_height = $height * ($new_width/$width);
    }
    elseif($new_height && !$new_width) {
    $new_width = $width * ($new_height/$height);
    }
    elseif(!$new_width && !$new_height) {
    $new_width = $width;
    $new_height = $height;
    }

    // create a new true color image
    $canvas = imagecreatetruecolor($new_width, $new_height);

    if( $zoom_crop ) {

    $src_x = $src_y = 0;
    $src_w = $width;
    $src_h = $height;

    $cmp_x = $width / $new_width;
    $cmp_y = $height / $new_height;

    // calculate x or y coordinate and width or height of source

    if ( $cmp_x > $cmp_y ) {

    $src_w = round( ( $width / $cmp_x * $cmp_y ) );
    $src_x = round( ( $width – ( $width / $cmp_x * $cmp_y ) ) / 2 );

    }
    elseif ( $cmp_y > $cmp_x ) {

    $src_h = round( ( $height / $cmp_y * $cmp_x ) );
    $src_y = round( ( $height – ( $height / $cmp_y * $cmp_x ) ) / 2 );

    }

    imagecopyresampled( $canvas, $image, 0, 0, $src_x, $src_y, $new_width, $new_height, $src_w, $src_h );

    }
    else {

    // copy and resize part of an image with resampling
    imagecopyresampled( $canvas, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

    }

    // output image to browser based on mime type
    show_image( $mime_type, $canvas, $quality, $cache_dir );

    // remove image from memory
    ImageDestroy( $canvas );

    } else {

    if( strlen( $src ) ) { echo $src . ‘ not found.’; } else { echo ‘no source specified.’; }

    }

    function show_image ($mime_type, $image_resized, $quality, $cache_dir) {

    // check to see if we can write to the cache directory
    $is_writable = 0;
    $cache_file_name = $cache_dir . ‘/’ . get_cache_file();

    if( touch( $cache_file_name ) ) {
    // give 666 permissions so that the developer
    // can overwrite web server user
    chmod( $cache_file_name, 0666 );
    $is_writable = 1;
    }
    else {
    $cache_file_name = NULL;
    header(‘Content-type: ‘ . $mime_type);
    }

    if(stristr( $mime_type, ‘gif’ ) ) {
    imagegif( $image_resized, $cache_file_name );
    }
    elseif( stristr( $mime_type, ‘jpeg’ ) ) {
    imagejpeg( $image_resized, $cache_file_name, $quality );
    }
    elseif( stristr( $mime_type, ‘png’ ) ) {
    imagepng( $image_resized, $cache_file_name, ceil( $quality / 10 ) );
    }
    if( $is_writable ) { show_cache_file( $cache_dir, $mime_type ); }
    exit;

    }

    function open_image ($mime_type, $src) {

    if(stristr($mime_type, ‘gif’)) {
    $image = imagecreatefromgif($src);
    }
    elseif(stristr($mime_type, ‘jpeg’)) {
    $image = imagecreatefromjpeg($src);
    }
    elseif(stristr($mime_type, ‘png’)) {
    $image = imagecreatefrompng($src);
    }
    return $image;

    }

    function mime_type( $file ) {

    $frags = split( ".", $file );
    $ext = strtolower( $frags[ count( $frags ) – 1 ] );
    $types = array(
    ‘jpg’ => ‘image/jpeg’,
    ‘jpeg’ => ‘image/jpeg’,
    ‘png’ => ‘image/png’,
    ‘gif’ => ‘image/gif’,
    ‘bmp’ => ‘image/bmp’,
    ‘doc’ => ‘application/msword’,
    ‘xls’ => ‘application/msword’,
    ‘xml’ => ‘text/xml’,
    ‘html’ => ‘text/html’
    );
    $mime_type = $types[ $ext ];
    if( !strlen( $mime_type ) ) { $mime_type = ‘unknown’; }
    return $mime_type;

    }

    function valid_src_mime_type ( $mime_type ) {

    if( preg_match( "/jpg|jpeg|gif|png/i", $mime_type ) ) { return 1; }
    return 0;

    }

    function check_cache ( $cache_dir, $mime_type ) {

    // make sure cache dir exists
    if( !file_exists( $cache_dir ) ) {
    // give 777 permissions so that developer can overwrite
    // files created by web server user
    mkdir( $cache_dir );
    chmod( $cache_dir, 0777 );
    }

    show_cache_file( $cache_dir, $mime_type );

    }

    function show_cache_file ( $cache_dir, $mime_type ) {

    $cache_file = get_cache_file();

    if( file_exists( $cache_dir . ‘/’ . $cache_file ) ) {

    // check for updates
    $if_modified_since = preg_replace( ‘/;.*$/’, ”, $_SERVER[ "HTTP_IF_MODIFIED_SINCE" ] );
    $gmdate_mod = gmdate( ‘D, d M Y H:i:s’, filemtime( $cache_dir . ‘/’ . $cache_file ) );
    if( strstr( $gmdate_mod, ‘GMT’ ) ) {
    $gmdate_mod .= " GMT";
    }

    //error_log("TimThumb: $gmdate_mod == $if_modified_since");

    if ( $if_modified_since == $gmdate_mod ) {
    header( "HTTP/1.1 304 Not Modified" );
    exit;
    }

    // send headers then display image
    header( "Content-Type: " . $mime_type );
    header( "Last-Modified: " . gmdate( ‘D, d M Y H:i:s’, filemtime( $cache_dir . ‘/’ . $cache_file ) . " GMT" ) );
    header( "Content-Length: " . filesize( $cache_dir . ‘/’ . $cache_file ) );
    header( "Cache-Control: max-age=9999, must-revalidate" );
    header( "Expires: " . gmdate( "D, d M Y H:i:s", time() + 9999 ) . "GMT" );
    readfile( $cache_dir . ‘/’ . $cache_file );
    exit;

    }

    }

    function get_cache_file () {

    $request_params = $_REQUEST;
    $cachename = $_REQUEST[‘src’] . $_REQUEST[‘w’] . $_REQUEST[‘h’] . $_REQUEST[‘zc’] . $_REQUEST[‘q’];
    $cache_file = md5( $cachename );
    return $cache_file;

    }

    ?>
    [/code]

  • #26148

    imported_study
    Participante

    Puedo entender el codigo pero no como se relaciona con tu blog, me serviria el codigo de tus paginas (index.php y page.php)así como una captura de cualquier panel de control que tenga este script y una descripción de como deberia funcionar. ¿Exactamente que tiene que mostrar el thumbnail y donde?. En una de esas te convendria usar algun plugin.

  • #26149

    imported_study
    Participante

    otra pregunta, ¿donde se supone que tenes que cargar la url de la imagen?

  • #26150

    brunobattaglia
    Participante

    Aca te adjunto los codigos

    [code]<?php get_header(); ?>

    <?php if (is_paged()) $is_paged = true; ?>

    <!– Middle Starts –>
    <div id="middle-out-top">
    <div id="middle-out-bottom">
    <div id="middle-content">
    <div id="middle-content-bottom">
    <!– Content Starts –>
    <div id="content" class="wrap">
    <div class="col-left">
    <div id="main-content">

    <!– Latest Starts –>
    <div class="<?php if ($is_paged || get_option(‘woo_home_arc’)) { echo ‘archives’; } else { echo ‘latest’; } ?> post wrap">

    <?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1; query_posts("cat=-".$GLOBALS[vid_cat]."&paged=$paged"); ?>
    <?php if (have_posts()) : $count = 0; ?>
    <?php while (have_posts()) : the_post(); $postcount++;?>

    <!– Featured Starts –>
    <?php if ( $postcount <= get_option(‘woo_featured_posts’) && !$is_paged ) { ?>

    <div class="featured">
    <?php woo_get_image(‘image’,’featured’); ?>

    <div class="post-title">
    <h2>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></h2>
    <p class="post-details">Posted on <?php the_time(‘d. M, Y’); ?> by <?php the_author_posts_link(); ?>.</p>
    <div class="comment-cloud">
    "><?php comments_number(‘0′,’1′,’%’); ?>
    </div>
    </div>
    <?php if ( get_option(‘woo_content_feat’) ) { the_content(‘[…]’); } else { the_excerpt(); ?><?php } ?>

    <h4 class="continue">">Continue Reading</h4>

    </div>

    <!– Content Ad Starts –>
    <?php if (!get_option(‘woo_ad_content_disable’) && !$is_paged && !$ad_shown) { include (TEMPLATEPATH . "/ads/content_ad.php"); $ad_shown = true; } ?>
    <!– Content Ad Ends –>

    <?php continue; } ?>
    <!– Featured Ends –>

    <!– Normal Post Starts –>
    <div class="block">

    <?php if (!$is_paged && !get_option(‘woo_home_arc’)) woo_get_image(‘image’,’home’); else woo_get_image(‘image’,’thumbnail’,”,”,’thumbnail alignleft’); ?>

    <div class="post-title">
    <h3>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></h3>
    <p class="post-details">Posted on <?php the_time(‘d. M, Y’); ?> by <?php the_author_posts_link(); ?>.</p>
    <div class="comment-cloud">
    "><?php comments_number(‘0′,’1′,’%’); ?>
    </div>
    </div>
    <?php if ( get_option(‘woo_content’) ) { the_content(‘[…]’); } else { the_excerpt(); ?><?php } ?>
    <h4 class="continue">">Continue Reading</h4>

    </div>
    <!– Normal Post Ends –>

    <?php if (!get_option(‘woo_home_arc’)) { $count++; if ($count == 2) { $count = 0; ?><div class="fix"></div><?php } } ?>

    <?php endwhile; ?>
    <?php endif; ?>

    </div>
    <!– Latest Ends –>

    <div class="more_entries wrap">
    <?php if (function_exists(‘wp_pagenavi’)) { ?><?php wp_pagenavi(); ?><?php } ?>
    </div>

    </div>
    </div>

    <div class="col-right">
    <?php get_sidebar(); ?>
    </div>
    </div>
    <!– Content Ends –>
    </div>
    </div>
    </div>
    </div>
    <!– Middle Ends –>
    <?php get_footer(); ?>[/code]

    y aca el del page

    [code]<?php get_header(); ?>

    <!– Middle Starts –>
    <div id="middle-out-top">
    <div id="middle-out-bottom">
    <div id="middle-content" <?php if ( comments_open() ) : ?>class="single"<?php endif; ?>>
    <div id="middle-content-bottom">
    <!– Content Starts –>
    <div id="content" class="wrap">
    <div class="col-left">
    <div id="main-content">

    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

    <!– Sing Post Starts –>
    <div class="page post wrap">

    <h2><?php the_title(); ?></h2>

    <?php the_content(); ?>
    <?php edit_post_link(‘Edit Page’, ”, ”); ?>

    </div>
    <!– Sing Post Ends –>

    </div>

    <?php endwhile; ?>

    <div id="comments">

    <?php //comments_template(); ?>

    </div>

    <?php endif; ?>

    </div>

    <div class="col-right">
    <?php get_sidebar(); ?>
    </div>
    </div>
    <!– Content Ends –>
    </div>
    </div>
    </div>
    </div>
    <!– Middle Ends –>
    <?php get_footer(); ?>[/code]

    Aqui una muestra de como deberia mostrarse

    Qué plugin crees que deberia instalar???

    gracias ! 😀

  • #26153

    brunobattaglia
    Participante

    Si te sirve, desde aca puedes descargar el theme con todos sus archivos.

    http://rapidshare.com/files/188527589/basic.zip

  • #26206

    imported_study
    Participante

    Estube leyendo documentación y no encontre mucho sobre su funcionamiento, solo duce que es un theme que soporta mucha multimedia. El link a el ejemplo no llego así que sigo sin ver el ejemplo con el theme 100% operativo. En tus plantillas no veo ninguna llamada a los metodos del script este. Así que calculo que sera algo que unicamente afecte a los post. Así que cortemos por lo sano y explicame detalladamente que deberia hacer y que queres lograr con esa función del theme y a ver si lo solucionamos con un plugin o con un retoque al codigo. Lamento no poder serte de mas ayuda. La otra es que contactes al programador del theme.

  • #30156

    Camelot
    Participante

    Yo tengo este tema y puedo visualizar las imágenes, es bastante sencillo en realidad, basta que copies el url de la imagen y la pegues en el marco correspondiente, llamado "Busy Bee Custom Settings" y que aparece hasta abajo en la ventana de editar entrada, como decía, pega la URL de la imagen, el cursor en dentro del marco das un Enter, automáticamente se crea el custom fiel correspondiente sin que tú hagas nada más. Entonces funcionan las miniaturas.

    Si tu haces a mano el custom field "Image" y pegasla URL en "valor" NO funciona. Tienes que usar obligatoriamente el "Busy Bee Custom Settings" con el procedimiento que te indiqué.

    No sé si me expliqué bien.

El foro ‘Themes y Diseño’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest

Ir al contenido