Making wordpress widget full width when only one post is displayed

Hello,

i am desperately trying to find how to make a news widget display in full width on the home page, when the number of posts to display is set to one.

Currently, it displays in 3 columns. If only one post is displaying, it stays in that column, rather than spreading across the width of the page. All help appreciated :frowning:

Here the widget.php:

[php]<?php

/*

  • Add function to widgets_init that’ll load our widget.
    */
    add_action( ‘widgets_init’, ‘dd_news_widgets’ );

/*

  • Register widget.
    */
    function dd_news_widgets() {
    register_widget( ‘DD_News_Widget’ );
    }

/*

  • Widget class.
    */
    class dd_news_widget extends WP_Widget {

    /* ---------------------------- /
    /
    -------- Widget setup -------- /
    /
    ---------------------------- */

    function DD_News_Widget() {

     /* Widget settings. */
     $widget_ops = array( 'classname' => 'dd_news_widget', 'description' => __('A widget that displays your latest news.', 'localization') );
    
      /* Widget control settings. */
     $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'dd_news_widget' );
    
     /* Create the widget. */
     $this->WP_Widget( 'dd_news_widget', __('DD News Widget','localization'), $widget_ops, $control_ops );
    

    }

    /* ---------------------------- /
    /
    ------- Display Widget -------- /
    /
    ---------------------------- */

    function widget( $args, $instance ) {
    extract( $args );

     /* Our variables from the widget settings. */
             $title = apply_filters('widget_title', $instance['title'] );
    
     $postcount = $instance['postcount'];
             $categories = $instance['categories'];
     
             $viewall = $instance['viewall'];
    
     /* Before widget (defined by themes). */
    
           
             
      
             
     
           	/* Before widget (defined by themes). */
     echo $before_widget;
             
      
          
     	
     ?>
    

  <?php echo $title ?>
  
  
       <?php if ($viewall != '') { ?>
                

              <span><a href="<?php echo $viewall ?>"><?php _e('VIEW ALL &rarr;', 'localization'); ?></a></span>
              
                            <?php } ?>

                 <ul>
                
                     
             <?php
            global $paged;


            $arguments = array(
                'post_type' => 'post',
                'post_status' => 'publish',
                'paged' => $paged,
                'showposts' => $postcount,
                   'cat' => $categories
            );


            $blog_query = new WP_Query($arguments);

            dd_set_query($blog_query);
        ?>
                
     <?php if ($blog_query->have_posts()) : while ($blog_query->have_posts()) : $blog_query->the_post(); ?>


                  
                         <?php 

$bigimg = get_post_meta(get_the_ID(), ‘bigimg’, true);

?>

                       <li <?php post_class('dd_news_post'); ?>>
                           
                                 <?php if( $bigimg) { ?>
                           
                    <div class="postTitleWithImage clearfix">
                        
                    <a href="<?php the_permalink(); ?>"><img src="<?php echo $bigimg; ?>" alt="" /></a>
                    
                    <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
                        
                    </div>
                           
                                   <?php } else { ?>
                           
                           
                             <div class="postTitle clearfix">
                        
                    
                    <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
                        
                    </div>
                    
                                   <?php } ?>
                           
              
                            <ul class="metaBtn clearfix">
                                
                                <li class="widgetAuthor"><a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" ><span><?php _e('By', 'localization'); ?></span> <?php the_author(); ?></a></li>
                                 <li><a href="<?php echo get_month_link(get_the_time('Y'), get_the_time('m')); ?>"><span><?php _e('On', 'localization'); ?></span> <?php echo the_time('F j, Y'); ?></a></li>
                               
                                
                            </ul>
                    
                           <div class="postCategories"> <span><?php _e('Posted In', 'localization'); ?></span> <?php the_category(', ');?>    </div>
                           
                                   <?php the_excerpt(); ?>
<?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?>
                           <a class="continue" href="<?php the_permalink(); ?>"><?php _e('CONTINUE READING', 'localization'); ?> &rarr;</a>
                    
                </li>
                                 

  <?php endwhile; ?>
<?php endif; ?>
            </ul>
                
  
	<?php 

	/* After widget (defined by themes). */
            
	
    echo $after_widget;
            
     
	
}

/* ---------------------------- */
/* ------- Update Widget -------- */
/* ---------------------------- */

function update( $new_instance, $old_instance ) {
	$instance = $old_instance;

	/* Strip tags for title and name to remove HTML (important for text inputs). */
            $instance['title'] = strip_tags( $new_instance['title'] );

	$instance['postcount'] = strip_tags( $new_instance['postcount'] );
            	$instance['categories'] = strip_tags( $new_instance['categories'] );
            $instance['viewall'] = strip_tags( $new_instance['viewall'] );
	

	/* No need to strip tags for.. */

	return $instance;
}

/* ---------------------------- */
/* ------- Widget Settings ------- */
/* ---------------------------- */

/**
 * Displays the widget settings controls on the widget panel.
 * Make use of the get_field_id() and get_field_name() function
 * when creating your form elements. This handles the confusing stuff.
 */
 
function form( $instance ) {

	/* Set up some default widget settings. */
	$defaults = array(
            'title' => 'LATEST NEWS',

‘show_option_all’ => ‘All’,
‘postcount’ => ‘5’,
);
$instance = wp_parse_args( (array) $instance, $defaults ); ?>

<!-- Widget Title: Text Input -->
	<p>
		<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:', 'localization') ?></label>
		<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" />
	</p>

        
	<!-- Postcount: Text Input -->
	<p>
		<label for="<?php echo $this->get_field_id( 'postcount' ); ?>"><?php _e('Number of posts', 'localization') ?></label>
		<input class="widefat" id="<?php echo $this->get_field_id( 'postcount' ); ?>" name="<?php echo $this->get_field_name( 'postcount' ); ?>" value="<?php echo $instance['postcount']; ?>" />
	</p>
            
              <p>
		<label for="<?php echo $this->get_field_id('categories'); ?>">
				<?php _e('Category:', 'ototw'); ?>
				<br />
		</label>
		
		<?php wp_dropdown_categories( 
			array( 
				'name' => $this->get_field_name("categories"), 
				'selected' => $instance["categories"], 
                                    'show_option_all' => 'All',
                                	'hide_if_empty' => 1
			) 
		); ?>
		
	</p>
            
            <!-- Postcount: Text Input -->
	<p>
		<label for="<?php echo $this->get_field_id( 'viewall' ); ?>"><?php _e('"View All" button URL', 'localization') ?></label>
		<input class="widefat" id="<?php echo $this->get_field_id( 'viewall' ); ?>" name="<?php echo $this->get_field_name( 'viewall' ); ?>" value="<?php echo $instance['viewall']; ?>" />
	</p>
	
	<!-- Tweettext: Text Input -->
			
<?php
}

}
?>[/php]

Sponsor our Newsletter | Privacy Policy | Terms of Service