fercba Seguir
Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
- Desde
- 5 Ago 2013
- Mensajes
- 815
Hola betas les traigo un tutorial para que puedan agregar un widget en su sidebar con los articulos mas vistos.
Empezemos primero abren su functions.php de su theme actual y pegan lo siguiente en la ultima linea:
Guardan cambios y listo ahora van a la seccion de widget y le colocan el titulo que desean y los post a mostrar, por ultimo lo colocan donde quieran.
En su theme crean una carpeta de nombre "images" y guardan la siguiente imagen con nombre "no_image" es por si no tienen la miniatura se mostrara esa imagen.
Importante: si no tienen habilitada alguna de las siguientes funciones agregan el codigo en el mismo archivo que editamos anteriormente
1.- En caso de no tener la opción de widgets habilitada agregan:
2.- Al igual si no tienen habilitada la función para miniaturas agregan:
3.- Abren el archivo sibebar.php y ponen donde quieran que se visualize:
Resultado final :encouragement:
Empezemos primero abren su functions.php de su theme actual y pegan lo siguiente en la ultima linea:
PHP:
/*
Post mas visitados sin plugin para Forobeta :)
Autor: Fercba
*/
function sitePlus(){
global $post;
if(is_single()){
$count_key = 'view_post';
$count = get_post_meta($post->ID, $count_key, true);
if(empty($count)){
delete_post_meta($post->ID, $count_key);
add_post_meta($post->ID, $count_key, 1);
}else{
$count++;
update_post_meta($post->ID, $count_key, $count);
}
}
}
class WidgetPopularPost extends WP_Widget
{
function WidgetPopularPost()
{
parent::WP_Widget(false, $name = 'Lo mas visto');
}
function widget($args, $instance)
{
extract($args);
$title = apply_filters('widget_title', $instance['title']);
$arg1 = array( 'posts_per_page' => ($instance['posts_page']) ? $instance['posts_page'] : 7,
'meta_key' => 'view_post',
'orderby' => 'meta_value_num',
'order' => 'DESC');
$query = new WP_Query($arg1);
echo '
<style type="text/css">
.content{ clear: both;}
.PostSidebar{ padding: 10px;}
.PostSidebar .img{ padding: }
.PostSidebar img { width: 100%; max-width: 100%; margin-bottom: 10px;}
.PostSidebar h4{ margin: 0; padding: 0 }
.PostSidebar h4 a{font:normal 600 15px Arial; }
</style>
';
echo $before_widget;
if ($title):
echo $before_title . $title . $after_title;
?><div class="content"><?php
if($query->have_posts()):
while($query->have_posts()){ $query->the_post();
?><div class="PostSidebar" >
<div class="img">
<?php
if(has_post_thumbnail()):
the_post_thumbnail();
else:
?><img alt="sin imagen" src="<?php bloginfo('template_url'); ?>/images/no_image.jpg"><?php
endif;?>
</div>
<div class="desc">
<h4><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h4>
</div>
</div><?php
}
endif;
?></div><?php
echo $after_widget;
}
function update($new_instance, $old_instance)
{
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['posts_page'] = (int) $new_instance['posts_page'];
return $instance;
}
function form($instance)
{
$title = esc_attr($instance['title']);
$posts_page = esc_attr($instance['posts_page']);
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>">Titulo </label><br>
<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; ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id('posts_page'); ?>">Post a mostrar</label><br>
<select name="<?php echo $this->get_field_name('posts_page'); ?>"
id="<?php echo $this->get_field_id('posts_page'); ?>">
<?php $categoria = get_categories();
for ($i = 1; $i<= 10;$i++) {
$select = (!empty($posts_page) and $posts_page == $i) ? ' selected="selected" ' : '';
echo '<option value="'.$i.'" '.$select.'>'.$i . '</option>';
}
?>
</select>
</p>
<?php
}
}
function WidgetPP() {
register_widget('WidgetPopularPost');
}
add_action('wp_footer','sitePlus');
add_action('widgets_init', "WidgetPP");
Guardan cambios y listo ahora van a la seccion de widget y le colocan el titulo que desean y los post a mostrar, por ultimo lo colocan donde quieran.
En su theme crean una carpeta de nombre "images" y guardan la siguiente imagen con nombre "no_image" es por si no tienen la miniatura se mostrara esa imagen.
Importante: si no tienen habilitada alguna de las siguientes funciones agregan el codigo en el mismo archivo que editamos anteriormente
1.- En caso de no tener la opción de widgets habilitada agregan:
PHP:
register_sidebar(array(
'name' => 'Sidebar alt',
'before_widget' => '<div class="box_s">',
'after_widget' => '</div>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));
2.- Al igual si no tienen habilitada la función para miniaturas agregan:
PHP:
add_theme_support( 'post-thumbnails' );
3.- Abren el archivo sibebar.php y ponen donde quieran que se visualize:
PHP:
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar alt') ) : endif;
Resultado final :encouragement:
Última edición: