Articulos categoria widgets Entradas más antiguas
-
wordpress Articulos categoria widgets «antiguas y nuevo» como?
<?php
/*
Plugin Name: Articulos por categoria Firmas – Widget
Plugin URI: http://www.candemasjor.net
Description: Muestra los articulos de una categoria. Basado en el Widget de James Lao Category Posts
Author: Candemasjor.
Version: 1.0
Author URI: http://www.candemasjor.net
*/// Register thumbnail sizes.
if ( function_exists(‘add_image_size’) )
{
$sizes = get_option(‘sw_arti_cat_thumb_sizes’);
if ( $sizes )
{
foreach ( $sizes as $id=>$size )
add_image_size( ‘cat_post_thumb_size’ . $id, $size[0], $size[1], true );
}
}class ArticulosCategoriafirmas extends WP_Widget {
function ArticulosCategoriafirmas() {
parent::WP_Widget(false, $name=’Articulos categoria firmas’);
}/**
* Displays category posts widget on blog.
*/
function widget($args, $instance) {
global $post;
$post_old = $post; // Save the post object.extract( $args );
$sizes = get_option(‘sw_arti_cat_thumb_sizes’);
// If not title, use the name of the category.
if( !$instance[«title»] ) {
$category_info = get_category($instance[«cat»]);
$instance[«title»] = $category_info->name;
}$valid_sort_orders = array(‘date’, ‘title’, ‘comment_count’, ‘random’);
if ( in_array($instance[‘sort_by’], $valid_sort_orders) ) {
$sort_by = $instance[‘sort_by’];
$sort_order = (bool) $instance[‘asc_sort_order’] ? ‘ASC’ : ‘DESC’;
} else {
// by default, display latest first
$sort_by = ‘date’;
$sort_order = ‘DESC’;
}// Get array of post info.
$cat_posts = new WP_Query(
«showposts=» . $instance[«num»] .
«&cat=» . $instance[«cat»] .
«&orderby=» . $sort_by .
«&order=» . $sort_order
);// Excerpt length filter
$new_excerpt_length = create_function(‘$length’, «return » . $instance[«excerpt_length»] . «;»);
if ( $instance[«excerpt_length»] > 0 )
add_filter(‘excerpt_length’, $new_excerpt_length);echo $before_widget;
// Widget title
echo $before_title;
if( $instance[«title_link»] )
echo ‘‘ . $instance[«title»] . ‘‘;
else
echo $instance[«title»];
echo $after_title;// Post list
echo »- \n»;
while ( $cat_posts->have_posts() )
{
$cat_posts->the_post();
$author = get_userdata(get_the_author_id());
?>
<li class=»cat-post-item»><?php if ( $instance[‘author-bio-box’] ) : ?>
<?php the_author_meta(‘description’); ?>
<?php endif; ?>» rel=»bookmark» title=»Enlace a <?php the_title_attribute(); ?>»><?php the_title(); ?>
<?php if ( $instance[‘author_avatar’] ) : ?>
<p class=»author-avatar»><?= get_avatar($author->user_email, 64) ?></p>
<?php endif; ?><?php
if (
function_exists(‘the_post_thumbnail’) &&
current_theme_supports(«post-thumbnails») &&
$instance[«thumb»] &&
has_post_thumbnail()
) :
?>
» title=»<?php the_title_attribute(); ?>»>
<?php the_post_thumbnail( ‘cat_post_thumb_size’.$this->id ); ?>
<?php endif; ?><?php if ( $instance[‘date’] ) : ?>
<p class=»post-date»><?php the_time(«j M Y»); ?></p>
<?php endif; ?><?php if ( $instance[‘excerpt’] ) : ?>
<?php the_excerpt(); ?>
<?php endif; ?><?php if ( $instance[‘author_name’] ) : ?>
ID, $author->user_nicename) ?>»><?= $author->first_name . ‘ ‘ . $author->last_name ?><?php endif; ?>
<?php if ( $instance[‘comment_num’] ) : ?>
<p class=»comment-num»>(<?php comments_number(); ?>)</p>
<?php endif; ?><?php
} { ?><div class=»navigation»><p><?php posts_nav_link(); ?></p></div>
<? }
echo $after_widget;remove_filter(‘excerpt_length’, $new_excerpt_length);
$post = $post_old; // Restore the post object.
}/**
* Form processing… Dead simple.
*/
function update($new_instance, $old_instance) {
/**
* Save the thumbnail dimensions outside so we can
* register the sizes easily. We have to do this
* because the sizes must registered beforehand
* in order for WP to hard crop images (this in
* turn is because WP only hard crops on upload).
* The code inside the widget is executed only when
* the widget is shown so we register the sizes
* outside of the widget class.
*/
if ( function_exists(‘the_post_thumbnail’) )
{
$sizes = get_option(‘sw_arti_cat_thumb_sizes’);
if ( !$sizes ) $sizes = array();
$sizes[$this->id] = array($new_instance[‘thumb_w’], $new_instance[‘thumb_h’]);
update_option(‘sw_arti_cat_thumb_sizes’, $sizes);
}return $new_instance;
}/**
* The configuration form.
*/
function form($instance) {
?>
<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 esc_attr($instance[«title»]); ?>» />
</label>
</p><p>
<label>
<?php _e( ‘Category’ ); ?>:
<?php wp_dropdown_categories( array( ‘name’ => $this->get_field_name(«cat»), ‘selected’ => $instance[«cat»] ) ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«num»); ?>»>
<?php _e(‘Number of posts to show’); ?>:
<input style=»text-align: center;» id=»<?php echo $this->get_field_id(«num»); ?>» name=»<?php echo $this->get_field_name(«num»); ?>» type=»text» value=»<?php echo absint($instance[«num»]); ?>» size=’3′ />
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«sort_by»); ?>»>
<?php _e(‘Sort by’); ?>:
<select id=»<?php echo $this->get_field_id(«sort_by»); ?>» name=»<?php echo $this->get_field_name(«sort_by»); ?>»>
<option value=»date»<?php selected( $instance[«sort_by»], «date» ); ?>>Date</option>
<option value=»title»<?php selected( $instance[«sort_by»], «title» ); ?>>Title</option>
<option value=»comment_count»<?php selected( $instance[«sort_by»], «comment_count» ); ?>>Number of comments</option>
<option value=»random»<?php selected( $instance[«sort_by»], «random» ); ?>>Random</option>
</select>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«asc_sort_order»); ?>»>
<input type=»checkbox» class=»checkbox»
id=»<?php echo $this->get_field_id(«asc_sort_order»); ?>»
name=»<?php echo $this->get_field_name(«asc_sort_order»); ?>»
<?php checked( (bool) $instance[«asc_sort_order»], true ); ?> />
<?php _e( ‘Reverse sort order (ascending)’ ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«title_link»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«title_link»); ?>» name=»<?php echo $this->get_field_name(«title_link»); ?>»<?php checked( (bool) $instance[«title_link»], true ); ?> />
<?php _e( ‘Make widget title link’ ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«excerpt»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«excerpt»); ?>» name=»<?php echo $this->get_field_name(«excerpt»); ?>»<?php checked( (bool) $instance[«excerpt»], true ); ?> />
<?php _e( ‘Show post excerpt’ ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«author-bio-box»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«author-bio-box»); ?>» name=»<?php echo $this->get_field_name(«author-bio-box»); ?>»<?php checked( (bool) $instance[«author-bio-box»], true ); ?> />
<?php _e( ‘Show author box’ ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«author_avatar»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«author_avatar»); ?>» name=»<?php echo $this->get_field_name(«author_avatar»); ?>»<?php checked( (bool) $instance[«author_avatar»], true ); ?> />
<?php _e( ‘Show author avatar’ ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«author_name»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«author_name»); ?>» name=»<?php echo $this->get_field_name(«author_name»); ?>»<?php checked( (bool) $instance[«author_name»], true ); ?> />
<?php _e( ‘Show author name’ ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«excerpt_length»); ?>»>
<?php _e( ‘Excerpt length (in words):’ ); ?>
</label>
<input style=»text-align: center;» type=»text» id=»<?php echo $this->get_field_id(«excerpt_length»); ?>» name=»<?php echo $this->get_field_name(«excerpt_length»); ?>» value=»<?php echo $instance[«excerpt_length»]; ?>» size=»3″ />
</p><p>
<label for=»<?php echo $this->get_field_id(«comment_num»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«comment_num»); ?>» name=»<?php echo $this->get_field_name(«comment_num»); ?>»<?php checked( (bool) $instance[«comment_num»], true ); ?> />
<?php _e( ‘Show number of comments’ ); ?>
</label>
</p><p>
<label for=»<?php echo $this->get_field_id(«date»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«date»); ?>» name=»<?php echo $this->get_field_name(«date»); ?>»<?php checked( (bool) $instance[«date»], true ); ?> />
<?php _e( ‘Show post date’ ); ?>
</label>
</p><?php if ( function_exists(‘the_post_thumbnail’) && current_theme_supports(«post-thumbnails») ) : ?>
<p>
<label for=»<?php echo $this->get_field_id(«thumb»); ?>»>
<input type=»checkbox» class=»checkbox» id=»<?php echo $this->get_field_id(«thumb»); ?>» name=»<?php echo $this->get_field_name(«thumb»); ?>»<?php checked( (bool) $instance[«thumb»], true ); ?> />
<?php _e( ‘Show post thumbnail’ ); ?>
</label>
</p>
<p>
<label>
<?php _e(‘Thumbnail dimensions’); ?>:
<label for=»<?php echo $this->get_field_id(«thumb_w»); ?>»>
W: <input class=»widefat» style=»width:40%;» type=»text» id=»<?php echo $this->get_field_id(«thumb_w»); ?>» name=»<?php echo $this->get_field_name(«thumb_w»); ?>» value=»<?php echo $instance[«thumb_w»]; ?>» />
</label><label for=»<?php echo $this->get_field_id(«thumb_h»); ?>»>
H: <input class=»widefat» style=»width:40%;» type=»text» id=»<?php echo $this->get_field_id(«thumb_h»); ?>» name=»<?php echo $this->get_field_name(«thumb_h»); ?>» value=»<?php echo $instance[«thumb_h»]; ?>» />
</label>
</label>
</p>
<?php endif; ?><?php
}
}
add_action( ‘widgets_init’, create_function(», ‘return register_widget(«ArticulosCategoriafirmas»);’) );
?>
- El debate ‘Articulos categoria widgets Entradas más antiguas’ está cerrado a nuevas respuestas.