Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #617235

    Hi,

    I have an issue displaying the latest news widget properly. The layout is fine, I customized it by inserting the code below in my child theme functions.php. But the image thumb looks pixellated as the code seems to force the thumbnail to have a size of 36 x 36 px, while I want it to display at a size of 80 x 80 px (print screen and link in private). Could you please help me on this?

    Many thanks,
    Catherine

    /**
    * AVIA NEWSBOX
    *
    * Widget that creates a list of latest news entries
    *
    * @package AviaFramework
    * @todo replace the widget system with a dynamic one, based on config files for easier widget creation
    */

    if (!class_exists(‘avia_newsbox’))
    {
    class avia_newsbox extends WP_Widget {

    var $avia_term = ”;
    var $avia_post_type = ”;
    var $avia_new_query = ”;

    function __construct()
    {
    $widget_ops = array(‘classname’ => ‘newsbox’, ‘description’ => ‘A Sidebar widget to display latest post entries in your sidebar’ );

    parent::__construct( ‘newsbox’, THEMENAME.’ Latest News’, $widget_ops );
    }

    function widget($args, $instance)
    {
    global $avia_config;

    extract($args, EXTR_SKIP);
    echo $before_widget;

    $title = empty($instance[‘title’]) ? ” : apply_filters(‘widget_title’, $instance[‘title’]);
    $count = empty($instance[‘count’]) ? ” : $instance[‘count’];
    $cat = empty($instance[‘cat’]) ? ” : $instance[‘cat’];
    $excerpt = empty($instance[‘excerpt’]) ? ” : $instance[‘excerpt’];
    $image_size = isset($avia_config[‘widget_image_size’]) ? $avia_config[‘widget_image_size’] : ‘widget’;

    if ( !empty( $title ) ) { echo $before_title . $title . $after_title; };

    if(empty($this->avia_term))
    {
    $additional_loop = new WP_Query(“cat=”.$cat.”&posts_per_page=”.$count);
    }
    else
    {
    $catarray = explode(‘,’, $cat);

    if(empty($catarray[0]))
    {
    $new_query = array(“posts_per_page”=>$count,”post_type”=>$this->avia_post_type);
    }
    else
    {
    if($this->avia_new_query)
    {
    $new_query = $this->avia_new_query;
    }
    else
    {
    $new_query = array( “posts_per_page”=>$count, ‘tax_query’ => array(
    array( ‘taxonomy’ => $this->avia_term,
    ‘field’ => ‘id’,
    ‘terms’ => explode(‘,’, $cat),
    ‘operator’ => ‘IN’)
    )
    );
    }
    }

    $additional_loop = new WP_Query($new_query);
    }

    if($additional_loop->have_posts()) :

    echo ‘<ul class=”news-wrap image_size_’.$image_size.'”>’;
    while ($additional_loop->have_posts()) : $additional_loop->the_post();

    $format = “”;
    if(empty($this->avia_post_type)) $format = $this->avia_post_type;
    if(empty($format)) $format = get_post_format();
    if(empty($format)) $format = ‘standard’;

    $the_id = get_the_ID();
    $link = get_post_meta( $the_id ,’_portfolio_custom_link’, true) != “” ? get_post_meta( $the_id ,’_portfolio_custom_link_url’, true) : get_permalink();

    echo ‘<li class=”news-content post-format-‘.$format.'”>’;

    //check for preview images:
    $image = “”;

    if(!current_theme_supports(‘force-post-thumbnails-in-widget’))
    {
    $slides = avia_post_meta(get_the_ID(), ‘slideshow’, true);

    if( $slides != “” && !empty( $slides[0][‘slideshow_image’] ) )
    {
    $image = avia_image_by_id($slides[0][‘slideshow_image’], $image_size, ‘image’);
    }
    }

    if(current_theme_supports( ‘post-thumbnails’ ) && !$image )
    {
    $image = get_the_post_thumbnail( $the_id, $image_size );
    }

    $time_format = apply_filters( ‘avia_widget_time’, get_option(‘date_format’), ‘avia_newsbox’ );
    //$time_format = apply_filters( ‘avia_widget_time’, get_option(‘date_format’).” – “.get_option(‘time_format’), ‘avia_newsbox’ );

    echo ““;

    $nothumb = (!$image) ? ‘no-news-thumb’ : ”;

    echo “<span class=’news-thumb $nothumb’>”;
    echo $image;
    echo “</span>”;
    if(empty($avia_config[‘widget_image_size’]) || ‘display title and excerpt’ != $excerpt)
    {
    echo “<p class=’news-headline’>”.get_the_title();

    if($time_format)
    {
    echo “<span class=’news-time’>”.get_the_time($time_format).”</span>”;
    }

    echo “</p>”;

    if(‘display title and excerpt’ == $excerpt)
    {
    echo “<div class=’news-excerpt’>”;

    if(!empty($avia_config[‘widget_image_size’]))
    {
    echo “
    “;
    echo “<p class=’news-headline’>”.get_the_title().”</p>”;
    echo “
    “;
    if($time_format)
    {
    echo “<span class=’news-time’>”.get_the_time($time_format).”</span>”;
    }

    }
    the_excerpt();
    echo “</div>”;
    }
    }
    echo ““;

    echo ‘‘;

    endwhile;
    echo ““;
    wp_reset_postdata();
    endif;

    echo $after_widget;

    }

    function update($new_instance, $old_instance)
    {
    $instance = $old_instance;
    $instance[‘title’] = strip_tags($new_instance[‘title’]);
    $instance[‘count’] = strip_tags($new_instance[‘count’]);
    $instance[‘excerpt’] = strip_tags($new_instance[‘excerpt’]);
    $instance[‘cat’] = implode(‘,’,$new_instance[‘cat’]);
    return $instance;
    }

    function form($instance)
    {
    $instance = wp_parse_args( (array) $instance, array( ‘title’ => ”, ‘count’ => ”, ‘cat’ => ”, ‘excerpt’=>” ) );
    $title = strip_tags($instance[‘title’]);
    $count = strip_tags($instance[‘count’]);
    $excerpt = strip_tags($instance[‘excerpt’]);

    $elementCat = array(“name” => “Which categories should be used for the portfolio?”,
    “desc” => “You can select multiple categories here”,
    “id” => $this->get_field_name(‘cat’).”[]”,
    “type” => “select”,
    “std” => strip_tags($instance[‘cat’]),
    “class” => “”,
    “multiple”=>6,
    “subtype” => “cat”);
    //check if a different taxonomy than the default is set
    if(!empty($this->avia_term))
    {
    $elementCat[‘taxonomy’] = $this->avia_term;
    }

    $html = new avia_htmlhelper();

    ?>
    <p><label for=”<?php echo $this->get_field_id(‘title’); ?>”>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($title); ?>” /></label></p>

    <p>
    <label for=”<?php echo $this->get_field_id(‘count’); ?>”>How many entries do you want to display: </label>
    <select class=”widefat” id=”<?php echo $this->get_field_id(‘count’); ?>” name=”<?php echo $this->get_field_name(‘count’); ?>”>
    <?php
    $list = “”;
    for ($i = 1; $i <= 20; $i++ )
    {
    $selected = “”;
    if($count == $i) $selected = ‘selected=”selected”‘;

    $list .= “<option $selected value=’$i’>$i</option>”;
    }
    $list .= “</select>”;
    echo $list;
    ?>

    </p>

    <p><label for=”<?php echo $this->get_field_id(‘cat’); ?>”>Choose the categories you want to display (multiple selection possible):
    <?php echo $html->select($elementCat); ?>
    </label></p>

    <p>
    <label for=”<?php echo $this->get_field_id(‘excerpt’); ?>”>Display title only or title & excerpt</label>
    <select class=”widefat” id=”<?php echo $this->get_field_id(‘excerpt’); ?>” name=”<?php echo $this->get_field_name(‘excerpt’); ?>”>
    <?php
    $list = “”;
    $answers = array(‘show title only’,’display title and excerpt’);
    foreach ($answers as $answer)
    {
    $selected = “”;
    if($answer == $excerpt) $selected = ‘selected=”selected”‘;

    $list .= “<option $selected value=’$answer’>$answer</option>”;
    }
    $list .= “</select>”;
    echo $list;
    ?>

    </p>

    <?php
    }
    }
    }

    #617237

    Sorry, please find the proper link to the site in the private field.

    Thanks,
    Catherine

    #619053

    Hi!

    Seems you managed to fix it with this code:

    img.attachment-widget.wp-post-image {
        width: 80px; 
        height:80px;
    }

    Best regards,
    Josue

    #620028

    Hi!
    Yes, I modified the parent theme’s functions.php. Your solution is cleaner, thanks.
    Best regards,
    Catherine

Viewing 4 posts - 1 through 4 (of 4 total)
  • The topic ‘Enfold – Latest news – image thumb’ is closed to new replies.