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: 20 años, 8 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($args, EXTR_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'] ? 1 : 0;
        
$instance['atimage'] = $new_instance['atimage'] ? 1 : 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 < 1 ) || ($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($excerpt, 0, $excerptlength) . '...';
                }
                
$excerpt = ': ' . $excerpt;
            }
            
$image = '';
            
$img = '';
            if (
$cusfield) {
             
$cusfield = esc_attr($cusfield);
             
$img = get_post_meta($post->ID, $cusfield, true);
            }
             if (!
$img && $firstimage) {
               
$match_count = preg_match_all("/<img[^']*?src=\"([^']*?)\"[^']*?>/", $post->post_content, $match_array, PREG_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á?