wordpress:focuswidget
Focus Widget
Per info su questo progetto: Gioxx (dev@gfsolone.com)
- In funzione su: gioxx.org/recommended (vedi blocco “Non farteli sfuggire”)
- Utilizza: codice Codex Wordpress
- Ne ho parlato su: -
Focus Widget permette di pubblicare all'interno di un widget le immagini “featured” degli articoli con tag “focus” fino ad un massimo di 5.
Codice sorgente
Salvare il file e inserirlo nella cartella wp-content/plugins/, è necessario attivare il plugin quindi andare a inserirlo nella propria Sidebar scegliendo anche il nome da mostrare a video.
- focuswidget.php
<?php /* Plugin Name: Focus Widget Plugin URI: http://public.gfsolone.com Description: Seleziona gli ultimi 5 articoli con tag "focus", prende per ciascuno la featured image e la mostra collegandola all'articolo. Per maggiori informazioni: <a href="http://gioxx.org">gioxx.org</a> o <a href="http://public.gfsolone.com">public.gfsolone.com</a>. Version: 0.1.1 Author: Gioxx Author URI: http://gioxx.org License: CC BY-NC-SA 3.0 IT */ /* Vedi dettaglio licenza di rilascio: http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it Basato su Codex Wordpress: http://codex.wordpress.org/Widgets_API 2013 Gioxx (dev@gfsolone.com) Attualmente in fase di sviluppo e test su Gioxx's Wall IL CONTENUTO DI QUESTO FILE PHP VIENE FORNITO AS-IS E LA MODIFICA DELLA CATEGORIA VA OPERATA MANUALMENTE */ class Focus_Widget extends WP_Widget { /** * Register widget with WordPress. */ public function __construct() { parent::__construct( 'focus_widget', // Base ID 'Focus Widget', // Name array( 'description' => __( 'Mostra gli ultimi articoli con tag Focus (vedi documentazione)', 'text_domain' ), ) // Args ); } /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget( $args, $instance ) { extract( $args ); $title = apply_filters( 'widget_title', $instance['title'] ); echo $before_widget; if ( ! empty( $title ) ) echo $before_title . $title . $after_title; // echo __( 'Stringa debug, dovrebbe comparire nel widget', 'text_domain' ); ?> <!-- Ricerca post ed iniezione --> <?php $my_query = new WP_Query('tag=focus&showposts=5'); while ($my_query->have_posts()) : $my_query->the_post(); ?> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"> <!-- Carico la featured image --> <?php if (has_post_thumbnail( $post->ID ) ): ?> <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?> <img src="<?php echo $image[0]; ?>" style="width: 295px; padding-bottom: 7px;"> <?php endif; ?> </a> <?php endwhile; ?> <?php echo $after_widget; } /** * Sanitize widget form values as they are saved. * * @see WP_Widget::update() * * @param array $new_instance Values just sent to be saved. * @param array $old_instance Previously saved values from database. * * @return array Updated safe values to be saved. */ public function update( $new_instance, $old_instance ) { $instance = array(); $instance['title'] = strip_tags( $new_instance['title'] ); return $instance; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. */ public function form( $instance ) { if ( isset( $instance[ 'title' ] ) ) { $title = $instance[ 'title' ]; } else { $title = __( 'Focus', 'text_domain' ); } ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> <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( $title ); ?>" /> </p> <?php } } // class Widget terminata // Registrazione del widget add_action( 'widgets_init', create_function( '', 'register_widget( "focus_widget" );' ) ); ?>
wordpress/focuswidget.txt · Last modified: 2013/07/02 17:07 by gfsadministrator