Support » Theme: Astra » Remove post title

  • Resolved bufus

    (@bufus)


    I have a custom post type and I’m creating a custom template for it through a child theme.
    I would like to remove the post title, and show it in another place on the post (in fact, inside a div, along with other info).
    I would also prefer to avoid using CSS to simply hide it.

    How can I achieve this? Is there a filter or action I can use?
    Thanks in advance.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Hi @bufus,

    You can use standard WordPress filters to remove the post title.

    Try the code below. Either add this to your child theme’s functions.php or create a plugin for it.

    
    
    /**
     * Filters for Titles
     *
     * Reference:
     *   https://codex.wordpress.org/Plugin_API/Filter_Reference/the_title
     * 
     * Menu code based on: 
     *   Fayaz https://wordpress.stackexchange.com/questions/309151/apply-the-title-filter-in-post-page-title-but-not-in-menu-title  
     */
    
    function mlc_remove_post_title( $title, $id = null ) {
        return ( get_post_type() == 'YOURFANCYPOSTTYPE' ) ? '' : $title;
    }
    add_filter( 'the_title', 'mlc_remove_post_title', 10, 2 );
    
    function mlc_remove_title_filter_nav_menu( $nav_menu, $args ) {
        // we are working with menu, so remove the title filter
        remove_filter( 'the_title', 'mlc_remove_post_title', 10, 2 );
        return $nav_menu;
    }
    // this filter fires just before the nav menu item creation process
    add_filter( 'pre_wp_nav_menu', 'mlc_remove_title_filter_nav_menu', 10, 2 );
    
    function mlc_add_title_filter_non_menu( $items, $args ) {
        // we are done working with menu, so add the title filter back
        add_filter( 'the_title', 'mlc_remove_post_title', 10, 2 );
        return $items;
    }
    // this filter fires after nav menu item creation is done
    add_filter( 'wp_nav_menu_items', 'mlc_add_title_filter_non_menu', 10, 2 );
    
    
    • This reply was modified 9 months ago by mark l chaves. Reason: Replaced test post type with placeholder
    bufus

    (@bufus)

    Thank you, @mlchaves
    I meant to update the post earlier today, but got distracted. Meanwhile I found the answer here, which is specific to Astra.

    EDIT: Marking this as solved.

    Hi @bufus,

    Oh man, that’s sweet. I just starred and followed that Gist. Thanks for sharing that.

    Enjoy!

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Remove post title’ is closed to new replies.