Ver Mensaje Individual
  #11 (permalink)  
Antiguo 21/11/2012, 12:22
Avatar de el_tigre
el_tigre
 
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Duda con imagen

No he podido usar ni eso último Nekko........me falta mucho sobre programación...... este es el código de advanced Random post

Código PHP:
<?php
class yg_adv_random_posts extends WP_Widget {
    function 
yg_adv_random_posts() {     
     
$widget_ops = array('description' => __('Shows Random Posts. You can customize it easily.''adv-rnd-posts') );
     
//Create widget
     
$this->WP_Widget('advancedrandomposts'__('Advanced Random Posts''adv-rnd-posts'), $widget_ops);
    }

  function 
widget($args$instance) {
             
extract($argsEXTR_SKIP);
            echo 
$before_widget;
            
$title = empty($instance['title']) ? __('Random Posts''adv-rnd-posts') : apply_filters('widget_title'$instance['title']);
            
$parameters = array(
              
'title' => $title,
                
'limit' => (int) $instance['show-num'],
                (
omitidos para ahorrar espacio)
                
'w' => (int) $instance['width'],
                
'h' => (int) $instance['height'],
                
'firstimage' => (bool) $instance['firstimage'],
                
'atimage' =>(bool) $instance['atimage'],
                
'defimage' => esc_url($instance['defimage'])
            );

            if ( !empty( 
$title ) ) {
            echo 
$before_title $title $after_title;
            };
        
//print random posts
                
yg_randomposts($parameters);
            echo 
$after_widget;
  } 
//end of widget
    
    //Update widget options
  
function update($new_instance$old_instance) {

        
$instance $old_instance;
        
//get old variables
        
(omitidos para ahorrar espacio)
        
$instance['firstimage'] = $new_instance['first-image'] ? 0;
        
$instance['atimage'] = $new_instance['atimage'] ? 0;
        
$instance['defimage'] = esc_url($new_instance['def-image']);
        return 
$instance;
  } 
//end of update
    //Widget options form
  
function form($instance) {
        
$instance wp_parse_args( (array) $instance, array( 'title' => __('Advanced Random Posts','adv-rnd-posts'), 'show-num' => 10'excerpt-length' => 0'actcat' => 0'cats' => '''cus-field' => '''width' => '''height' => '''firstimage' => 0'atimage' => 0,'defimage'=>'' ) );
        (
omitidos para ahorrar espacio)
        
$firstimage = (bool) $instance['firstimage'];
        
$atimage = (bool) $instance['atimage'];
        
$defimage esc_url($instance['defimage']);
        
?>
        <p>
           <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:');?> 
            <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title?>" />
           </label>
        </p>
        (omitidos para ahorrar espacio)
        <p>
          <label for="<?php echo $this->get_field_id('cus-field'); ?>"><?php _e('Thumbnail Custom Field Name:''adv-rnd-posts');?> 
          <input id="<?php echo $this->get_field_id('cus-field'); ?>" name="<?php echo $this->get_field_name('cus-field'); ?>" type="text" value="<?php echo $cus_field?>" size ="20" /> 
          </label><br />
          <label for="<?php echo $this->get_field_id('width'); ?>"><?php _e('Width:''adv-rnd-posts');?> <input id="<?php echo $this->get_field_id('width'); ?>" name="<?php echo $this->get_field_name('width'); ?>" type="text" value="<?php echo $width?>" size ="3" /></label>px<br />
            <label for="<?php echo $this->get_field_id('height'); ?>"><?php _e('Height:''adv-rnd-posts');?> <input id="<?php echo $this->get_field_id('height'); ?>" name="<?php echo $this->get_field_name('height'); ?>" type="text" value="<?php echo $height?>" size ="3" /></label>px
      </p>
        <p>
            <input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('first-image'); ?>" name="<?php echo $this->get_field_name('first-image'); ?>"<?php checked$firstimage ); ?> />
            <label for="<?php echo $this->get_field_id('first-image'); ?>"><?php _e('Get first image of post''adv-rnd-posts');?></label>
        </p>
        <p>
            <input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('atimage'); ?>" name="<?php echo $this->get_field_name('atimage'); ?>"<?php checked$atimage ); ?> />
            <label for="<?php echo $this->get_field_id('atimage'); ?>"><?php _e('Get first attached image of post''adv-rnd-posts');?></label>
        </p>
      <p>
          <label for="<?php echo $this->get_field_id('def-image'); ?>"><?php _e('Default image:''adv-rnd-posts');?> 
          <input class="widefat" id="<?php echo $this->get_field_id('def-image'); ?>" name="<?php echo $this->get_field_name('def-image'); ?>" type="text" value="<?php echo $defimage?>" /><br />
            <small>(<?php _e('if there is no thumbnail, use this''adv-rnd-posts');?></small>
          </label>
      </p>    
      <p>
          <label for="<?php echo $this->get_field_id('cats'); ?>"><?php _e('Categories:''adv-rnd-posts');?> 
          <input class="widefat" id="<?php echo $this->get_field_id('cats'); ?>" name="<?php echo $this->get_field_name('cats'); ?>" type="text" value="<?php echo $cats?>" /><br />
            <small>(<?php _e('Category IDs, separated by commas.''adv-rnd-posts');?>)</small>
          </label>
      </p>
        <p>
            <input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('actcat'); ?>" name="<?php echo $this->get_field_name('actcat'); ?>"<?php checked$actcat ); ?> />
            <label for="<?php echo $this->get_field_id('actcat'); ?>"> <?php _e('Get posts from current category''adv-rnd-posts');?></label>
        </p>
   <?php
  
//end of form
}
add_action'widgets_init'create_function('''return register_widget("yg_adv_random_posts");') );
//Register Widget
 // Show random posts function
 
function yg_randomposts($args '') {
  global 
$wpdb;
    
$defaults = array('limit' => 10'excerpt' => 0'actcat' => 0'cats'=>'''cusfield' =>'''w' => 48'h' => 48'firstimage' => 0);
    
$args wp_parse_args$args$defaults );
    
extract($args);
    
$limit = (int) abs($limit);
    
$firstimage = (bool) $firstimage;
    
$w = (int) $w;
    
$h = (int) $h;
    
$excerptlength = (int) abs($excerpt);
    
$excerpt '';
    
$cats str_replace(" """esc_attr($cats));
    if ((
$limit ) || ($limit 20)) $limit 10;
    if ((
$actcat) && (is_category())) {
     
$cats get_query_var('cat');
    }
    if ((
$actcat) && (is_single())) {
     
$cats '';
     foreach (
get_the_category() as $catt) {
       
$cats .= $catt->cat_ID.' '
     }
     
$cats str_replace(" "","trim($cats));
    }
    if (!
intval($cats)) $cats='';
    
$query "cat=$cats&showposts=$limit&orderby=rand";
    
$rnd_posts get_posts($query); //get posts by random
    
$postlist '';
    
$height $h ' height = "' $h .'"' '';
    
$width $w ' width = "' $w '"' '';
    foreach (
$rnd_posts as $post) {
          
$post_title htmlspecialchars(stripslashes($post->post_title));
            if (
$excerptlength) {
                
$excerpt $post->post_excerpt;
                if ( 
'' == $excerpt ) {
                    
$text $post->post_content;
                    
$text strip_shortcodes$text );
                    
$text str_replace(']]>'']]&gt;'$text);
                    
$text strip_tags($text);
                    
$excerpt_length 100;
                    
$words explode(' '$text$excerpt_length 1);
                    if (
count($words) > $excerpt_length) {
                        
array_pop($words);
                        
$text implode(' '$words);
                    }
$excerpt $text;
                }
              if(
strlen($excerpt) > $excerptlength) {
                 
$excerpt mb_substr($excerpt0$excerptlength) . '...';
                }
                
$excerpt ': ' $excerpt;
            }
            
$image '';
            
$img '';
            if (
$cusfield) {
             
$cusfield esc_attr($cusfield);
             
$img get_post_meta($post->ID$cusfieldtrue);
            }
             if (!
$img && $firstimage) {
               
$match_count preg_match_all("/<img[^']*?src=\"([^']*?)\"[^']*?>/"$post->post_content$match_arrayPREG_PATTERN_ORDER);        
               
$img $match_array[1][0];
             }
           if (!
$img && $atimage) { 
                 
$p = array(
                  
'post_type' => 'attachment',
                  
'post_mime_type' => 'image',
                  
'numberposts' => 1,
                  
'order' => 'ASC',
                  
'orderby' => 'menu_order ID',
                  
'post_status' => null,
                  
'post_parent' => $post->ID
                 
);
                 
$attachments get_posts($p);
                 if (
$attachments) {
                   
$imgsrc wp_get_attachment_image_src($attachments[0]->ID'thumbnail');
                   
$img $imgsrc[0];
                 }
                }
             if (!
$img && $defimage)
              
$img $defimage;
             if (
$img)
        
$image '<title="' $post_title '" img src="' $img '"  class="random-posts-thumb"' $width $height ' />';
    
$image '<img src="' $img '" title="' $post_title '" class="random-posts-thumb"' $width $height ' />';            
      
$postlist .= "<a href=\"" get_permalink($post->ID) . "\" title=\""$post_title ."\" >$image" $post_title ."</a>$excerpt\n";
    } echo 
'<ul class="advanced-random-posts">';        
    echo 
$postlist;
        echo 
'</ul>';
 }
?>
¿no es posible sacar algo de acá?