This is quite an intensive operation if you look at it. I have done this once before. Before you start, you will need to understand what is happening.
The layout of full width pages are controlled by the full-width
body class currently defined in line 419 in functions.php. If the following conditions are met, the full-width
body class is applied
-
If
sidebar-2
don’t have any widgets -
If one of the following pages are used:
-
page-templates/full-width.php
-
page-templates/contributors.php
-
-
If the page is an attachment page
So bases on what you want to do, you would need to get rid of that conditions and apply the full-width
body class regardless
In a child theme, you will need to remove the full width body class and apply a new body class that will act as a new full width body class. Lets call this new class new-full-width
. You can to the following now in your functions.php
function wpse168567_removes_full_width_body_class($classes) {
foreach($classes as $key => $value) {
if ($value == 'full-width') unset($classes[$key]);
}
return $classes;
}
add_filter('body_class', 'wpse168567_removes_full_width_body_class', 20, 2);
//Add new body class 'new-full-width'
function wpse168567_add_new_body_class( $classes ) {
$classes[] = 'new-full-width';
return $classes;
}
add_filter( 'body_class', 'wpse168567_add_new_body_class' );
You should now have the new-full-width
body class set to all pages
You will now need to copy all instances of full-width
from the main stylesheet in twentyfourteen to the stylesheet in your child theme. Once this is done, change all instances of full-width
to new-full-width
You will now see that all pages are displayed at full width.
One last modification, remove sidebar-2
from all templates and deregister it. This is important because if you drop any widget by mistake in that sidebar, it will mess up your layout, so to unregister that sidebar, do the following
function wpse168567_remove_right_sidebar(){
unregister_sidebar( 'sidebar-2' );
}
add_action( 'widgets_init', 'wpse168567_remove_right_sidebar', 11 );
You will have to copy all templates that calls this sidebar to your child theme and remove that call.
I can’t remember right now if this is all you need to do. I do think that it might be necessary to adjust you content width as well