Support » Requests and Feedback » Three Column Dashboard?

  • Resolved Princess_Giggles

    (@princess_giggles)


    Why is a three column dashboard no longer an option with the latest version of WordPress? Is there a way to hack that back?

Viewing 15 replies - 16 through 30 (of 47 total)
  • I still see it on WP 3.4

    http://cl.ly/1C3C3P0d3J1N16302z3a

    Upon reloading the dashboard I too have suddenly lost my 3rd column,
    although it was there for a day or two after upgrading last week.

    It is not determined by screen size; that would be asinine,
    and I have a widescreen.

    esmi

    (@esmi)

    Forum Moderator

    It is not determined by screen siz

    The number of columns available in Screen Options is determined by the width of the current page. This was a known issue with WordPress 3.3 & some browsers. See if the following helps.

    1. Switch back to 3 columns (if you haven’t already) via Screen Options on the Dashboard
    2. Empty your browser cache
    3. Close your browser then re-open it.
    4. Try a different browser.
    5. Try a different machine
    6. Try creating another admin user, then logging out of your old admin account and logging in as the new admin user

    If you continue to have problems despite carrying out all of these steps, try installing & activating
    http://wordpress.org/extend/plugins/use-google-libraries/ to force a true browser flush.

    No, see, the problem is there is no option for 3 columns under screen options. It now only shows 1 or 2 columns, so “switch back to 3 columns” (the crux of the problem) is a non-starter.

    I have logged out of wordpress and back in, tried other browsers/users,
    and am already using google libraries.

    Manually inserting a layout_columns record into wp_options did not help
    either. This seems to be used in render_screen_layout of wp-admin/includes/screen.php to create the list of radio buttons.

    esmi

    (@esmi)

    Forum Moderator

    How wide is your screen. I get options for 1,2,3 or 4 columns on my 1600px wide screen.

    1440 pixels wide, but to have it be resolution dependent would not only be stupid (let the user have control damnit), it does not seem possible given the current code since the radio buttons are created server side.

    My hardware has not changed, yet this morning I have lost my three column layout/ability to have one.

    esmi

    (@esmi)

    Forum Moderator

    You might think the width dependency is stupid but that is how it works – although I’m pretty sure that you can select 2 columns irrespective of your screen width. It’s the 3 & 4 column choices that are screen width dependant. The latter kick in around the 1200-1300 viewport width.

    What I’ve been able to find thus far, is that the radio buttons are there, but that by default wp-admin/css/wp-admin.css hides the options for 3 and 4. I cannot find any code that makes them display, conditionally or otherwise, in PHP or JS. The relevant identifiers are columns-prefs and screen_columns.

    *blachh* >-P

    I also happen to have an installation of WordPress 3.3.2 running on the same server, and it does show me three columns as it ought.

    esmi

    (@esmi)

    Forum Moderator

    Have you tried:

    – deactivating all plugins to see if this resolves the problem. If this works, re-activate the plugins one by one until you find the problematic plugin(s).

    – switching to the Twenty Eleven theme to rule out any theme-specific problems.

    resetting the plugins folder by FTP or PhpMyAdmin. Sometimes, an apparently inactive plugin can still cause problems.

    Here’s the code from wordpress/wp-admin/includes/dashboard.php for version 3.3.2

    function wp_dashboard() {
    	global $screen_layout_columns;
    
    	$screen = get_current_screen();
    
    	$hide2 = $hide3 = $hide4 = '';
    	switch ( $screen_layout_columns ) {
    		case 4:
    			$width = 'width:25%;';
    			break;
    		case 3:
    			$width = 'width:33.333333%;';
    			$hide4 = 'display:none;';
    			break;
    		case 2:
    			$width = 'width:50%;';
    			$hide3 = $hide4 = 'display:none;';
    			break;
    		default:
    			$width = 'width:100%;';
    			$hide2 = $hide3 = $hide4 = 'display:none;';
    	}
    ?>
    <div id="dashboard-widgets" class="metabox-holder">
    <?php
    	echo "\t<div id='postbox-container-1' class='postbox-container' style='$width'>\n";
    	do_meta_boxes( $screen->id, 'normal', '' );
    
    	echo "\t</div><div id='postbox-container-2' class='postbox-container' style='{$hide2}$width'>\n";
    	do_meta_boxes( $screen->id, 'side', '' );
    
    	echo "\t</div><div id='postbox-container-3' class='postbox-container' style='{$hide3}$width'>\n";
    	do_meta_boxes( $screen->id, 'column3', '' );
    
    	echo "\t</div><div id='postbox-container-4' class='postbox-container' style='{$hide4}$width'>\n";
    	do_meta_boxes( $screen->id, 'column4', '' );
    ?>
    </div></div>
    
    <form style="display:none" method="get" action="">
    	<p>
    <?php
    	wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
    	wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
    ?>
    	</p>
    </form>
    
    <?php
    }

    And here’s the code for the exact same file from 3.4.1

    function wp_dashboard() {
    	$screen = get_current_screen();
    	$class = 'columns-' . get_current_screen()->get_columns();
    
    ?>
    <div id="dashboard-widgets" class="metabox-holder <?php echo $class; ?>">
    	<div id='postbox-container-1' class='postbox-container'>
    	<?php do_meta_boxes( $screen->id, 'normal', '' ); ?>
    	</div>
    	<div id='postbox-container-2' class='postbox-container'>
    	<?php do_meta_boxes( $screen->id, 'side', '' ); ?>
    	</div>
    	<div id='postbox-container-3' class='postbox-container'>
    	<?php do_meta_boxes( $screen->id, 'column3', '' ); ?>
    	</div>
    	<div id='postbox-container-4' class='postbox-container'>
    	<?php do_meta_boxes( $screen->id, 'column4', '' ); ?>
    	</div>
    </div>
    
    <?php
    	wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
    	wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
    
    }

    That’s a pretty big change in code. Seems to me like it’s a change on the WordPress side of things, not an issue on the plugins side of things.

    That it’s working for most of us and not for some is why we think it’s a plugin 🙂

    Yes, it changed. The number of columns picker is still there, and it still works.

    WordPress changed. The code actually was changed for column selection. With 3.3, the size of my screen did not change the options I had. With 3.4 it does. The change in code on WordPress is what is making the difference now. It’s a change in WordPress code, not a plugin. If you have a wide screen then you still have the options of four columns and you are going to think that those of us with smaller screens are having plugin issues. Before with 3.3 the option of four columns was present regardless of screen width. The code change clearly indicates that it is a WordPress change, not a plugin issue.

    esmi

    (@esmi)

    Forum Moderator

    The change in code on WordPress is what is making the difference now.

    Then why is it working for others but not for you?

    If you have a wide screen then you still have the options of four columns and you are going to think that those of us with smaller screens are having plugin issues.

Viewing 15 replies - 16 through 30 (of 47 total)
  • The topic ‘Three Column Dashboard?’ is closed to new replies.