Last active
January 19, 2016 07:52
-
-
Save srikat/8e6cd8562b0bd8f28557 to your computer and use it in GitHub Desktop.
Entry header, first paragraph, featured Image above the remaining content and sidebar on single Posts in Genesis - Method 1. https://sridharkatakam.com/entry-header-first-paragraph-featured-image-above-the-remaining-content-and-sidebar-on-single-posts-in-genesis/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Register a custom image size for featured images on single Posts | |
add_image_size( 'post-single', 1080, 270, true ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Add "has-featured-image" body class if the post has a featured image | |
add_filter( 'body_class', 'sk_single_post_body_class' ); | |
/** | |
* Adds a css class to the body element | |
* | |
* @param array $classes the current body classes | |
* @return array $classes modified classes | |
*/ | |
function sk_single_post_body_class( $classes ) { | |
if ( has_post_thumbnail() ) { | |
$classes[] = 'has-featured-image'; | |
} | |
return $classes; | |
} | |
add_action( 'get_header', 'sk_layout' ); | |
function sk_layout() { | |
// if the post does not have a featured image, abort. | |
if ( ! has_post_thumbnail() ) { | |
return; | |
} | |
// force full width content | |
add_filter( 'genesis_pre_get_option_site_layout', '__genesis_return_full_width_content' ); | |
// insert featured image and Primary sidebar | |
add_filter( 'the_content', sk_featured_image_sidebar, 20 ); | |
} | |
// Function to insert featured image and Primary sidebar | |
function sk_featured_image_sidebar( $content ) { | |
// store the Primary sidebar's output in a variable using output buffering | |
ob_start(); | |
get_sidebar(); // include the sidebar.php template file | |
$sidebar = ob_get_clean(); | |
// insert featured image and Primary sidebar after the first paragraph | |
$content = preg_replace( '/<\/p>/', '</p>' . get_the_post_thumbnail( $post->ID, 'post-single' ) . $sidebar, $content, 1 ); | |
return $content; | |
} | |
genesis(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.attachment-post-single { | |
margin-bottom: 22px; | |
} | |
.single-post.has-featured-image .sidebar-primary { | |
margin-left: 30px; | |
} | |
.single-post.has-featured-image .sidebar .widget { | |
padding-top: 0; | |
padding-bottom: 0; | |
} | |
.entry-content .sidebar ul { | |
margin-left: 0; | |
} | |
.entry-content .sidebar ul > li { | |
list-style-type: none; | |
list-style-image: none; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment