[Resolved] Full Width Title On Single Post / Page

Home Forums Support Full Width Title On Single Post / Page

Viewing 15 posts - 1 through 15 (of 22 total)
  • Author
    Posts
  • #106888
    Hftt

    I couldn’t be happier if GP can display post and page titles in full width.
    Can I do like that in GP?

    For example – Similar to this one:

    http://prntscr.com/73j9eq

    Is it possible?

    Thanks T!

    #106909
    Tom
    Lead Developer
    Lead Developer

    Do you mean having the page/post title be full width above the below content and sidebars?

    If so, I may have an idea 🙂

    Let me know!

    #106958
    Hftt

    Absolutely. 🙂

    Full-width Page/Post Title (above). Content + Sidebar (below).

    Would it be possible?

    #107005
    Tom
    Lead Developer
    Lead Developer

    For sure 🙂

    1. Install a child theme: http://generatepress.com/api/themes/generatepress_child.zip

    2. Add the following code to your child theme’s functions.php file:

    add_filter( 'the_title', 'generate_remove_page_titles', 10, 2 );
    function generate_remove_page_titles( $title, $id = null )
    {
    	global $post, $generate_content_filter_completed;
    	
    	if ( $generate_content_filter_completed ) {
    		return $title;
    	}
    	
    	if ( ( is_page() || is_single() ) && in_the_loop() && $title == $post->post_title )
    		return '';
    		
    	return $title;
    }
    
    add_filter( 'the_content', 'generate_content_filter_completed' );
    function generate_content_filter_completed( $content ) 
    {
    	global $generate_content_filter_completed;
    	$generate_content_filter_completed = true;
    	return $content;
    }

    3. Then add this CSS to your child theme’s style.css file:

    .page .entry-content,
    .single .entry-content {
          margin-top: 0;
    }
    
    .page .entry-header,
    .single .entry-header {
          display: none;
    }

    4. Now, you can re-add the title above using a function like this to your child theme’s functions.php file:

    add_action('generate_after_header','generate_add_title_below_header');
    function generate_add_title_below_header()
    { 
    	// If we're not on a page, don't do anything
    	if ( is_page() || is_single() ) {
    	?>
    	<div class="page-header-content generate-page-header generate-content-header page-header-title">
    		<div class="inside-page-header-container inside-content-header grid-container grid-parent">
    			<header class="entry-header">
    				<h1 class="entry-title" itemprop="headline"><?php the_title(); ?></h1>
    			</header><!-- .entry-header -->
    		</div>
    	</div>
    	<?php }
    }
    #107012
    Hftt

    Gotcha! Bravo! Thanks T.

    Follow your instruction.

    1. Remove this from content-single.php.

    		<header class="entry-header">
    			<?php the_title( '<h1 class="entry-title" itemprop="headline">', '</h1>' ); ?>
    			<div class="entry-meta">
    				<?php generate_posted_on(); ?>
    			</div><!-- .entry-meta -->
    		</header><!-- .entry-header -->

    2. I couldn’t find –

    ... <h1 class="entry-title" itemprop="headline"> ...

    in content.php. So I don’t remove anything from content.php.

    3. Add code snippet in functions.php.

    4. 🙂 🙂 I get full width title on single post / page.

    Do I still need to change (add / remove) in content.php?

    #107013
    Tom
    Lead Developer
    Lead Developer

    You can leave content.php as it is, it deals with the blog page, so you don’t want to move those titles.

    content-page.php and content-single.php are the files you want to alter 🙂

    #107015
    Hftt

    Alrighty. I will leave content.php as it is.

    I don’t even want to look at those .php file. Scared to touch. Just a teeny tiny bit of PHP skill. 🙁

    I know CSS and style .entry-title class.

    GP is sooooo (d a m n) cool!

    Just out of curiosity, how many people are developing GP? Just you … by yourself?

    #107053
    Tom
    Lead Developer
    Lead Developer

    Just me! 🙂

    Glad you got it all working!

    #109461
    Tom
    Lead Developer
    Lead Developer

    Just an update, instead of having to copy the content-page.php and content-single.php files into your child theme, you can use this function to remove the title from pages and single post pages:

    add_filter( 'the_title', 'generate_remove_page_titles', 10, 2 );
    function generate_remove_page_titles( $title, $id = null )
    {
    	global $post, $generate_content_filter_completed;
    	
    	if ( $generate_content_filter_completed ) {
    		return $title;
    	}
    	
    	if ( ( is_page() || is_single() ) && in_the_loop() && $title == $post->post_title )
    		return '';
    		
    	return $title;
    }
    
    add_filter( 'the_content', 'generate_content_filter_completed' );
    function generate_content_filter_completed( $content ) 
    {
    	global $generate_content_filter_completed;
    	$generate_content_filter_completed = true;
    	return $content;
    }

    Then add this CSS:

    .page .entry-content,
    .single .entry-content {
          margin-top: 0;
    }
    
    .page .entry-header,
    .single .entry-header {
          display: none;
    }

    A little bit cleaner 🙂

    #109503
    Hftt

    Hi Tom

    I delete content-page.php and content-single.php from child theme.
    Add new function and CSS into child theme.

    Then,
    1. the title from single post
    2. previous and next navigation links from post bottom

    they all are gone.

    Am I missing some steps?
    Do I need to leave function from – http://generatepress.com/forums/topic/full-width-title-on-single-post-page/#post-107005 in child theme functions.php?

    #109517
    Tom
    Lead Developer
    Lead Developer

    Ah, flaw in my code!

    Try this function:

    add_filter( 'the_title', 'generate_remove_page_titles', 10, 2 );
    function generate_remove_page_titles( $title, $id = null )
    {
    	global $post, $generate_content_filter_completed;
    	
    	if ( $generate_content_filter_completed ) {
    		return $title;
    	}
    	
    	if ( ( is_page() || is_single() ) && in_the_loop() && $title == $post->post_title )
    		return '';
    		
    	return $title;
    }
    
    add_filter( 'the_content', 'generate_content_filter_completed' );
    function generate_content_filter_completed( $content ) 
    {
    	global $generate_content_filter_completed;
    	$generate_content_filter_completed = true;
    	return $content;
    }

    You will still need to use the function you linked to so it re-adds the title below the header. The function above basically makes it so you don’t have to have custom content-page.php and content-single.php files.

    #109524
    Hftt

    🙂

    That one works! Thank you so so much. You’re BATMAN! <– My favorite superhero!

    #109552
    Tom
    Lead Developer
    Lead Developer

    Haha you’re very welcome! 🙂

    #157417
    Diane

    can this still be used with the newest versions?
    I added a child theme and added the code above. but it’s not showing any title or author or date 🙁

    #157436
    Tom
    Lead Developer
    Lead Developer

    Are you trying to remove the page title from all pages?

Viewing 15 posts - 1 through 15 (of 22 total)
  • You must be logged in to reply to this topic.