Access our premium support and let us know your problems, we will help you solve them.

0
No products in the cart.
  • This topic is empty.
Viewing 5 posts - 16 through 20 (of 20 total)
  • Author
    Posts
  • #9402
    gray
    Participant

    Here’s my version:

    $title = ucwords(str_replace('-', ' ', get_query_var('pagename')));
    

    get_query_var(‘pagename’) was just giving me the page slug. So the above replaces all the dashes, and makes the first letter of each word uppercase – so it can actually be used as a title.

    #9408
    sy-holloway
    Participant

    I believe that the Roots starter theme has a fantastic function to get the current page title. It is very hackable, covers all bases, and can be easily used with the wp_title hook.

    /**
     * Page titles
     */
    function roots_title() {
      if (is_home()) {
        if (get_option('page_for_posts', true)) {
          echo get_the_title(get_option('page_for_posts', true));
        } else {
          _e('Latest Posts', 'roots');
        }
      } elseif (is_archive()) {
        $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
        if ($term) {
          echo $term->name;
        } elseif (is_post_type_archive()) {
          echo get_queried_object()->labels->name;
        } elseif (is_day()) {
          printf(__('Daily Archives: %s', 'roots'), get_the_date());
        } elseif (is_month()) {
          printf(__('Monthly Archives: %s', 'roots'), get_the_date('F Y'));
        } elseif (is_year()) {
          printf(__('Yearly Archives: %s', 'roots'), get_the_date('Y'));
        } elseif (is_author()) {
          $author = get_queried_object();
          printf(__('Author Archives: %s', 'roots'), $author->display_name);
        } else {
          single_cat_title();
        }
      } elseif (is_search()) {
        printf(__('Search Results for %s', 'roots'), get_search_query());
      } elseif (is_404()) {
        _e('Not Found', 'roots');
      } else {
        the_title();
      }
    }
    
    #9411
    rahul-balakrishna
    Participant

    We just need to use the “post” global variable:

    global $post;
    echo $post->post_title;
    

    This will echo the current page/post title.

    #9404
    therichpost
    Participant

    Show the title before the loop starts:

    $page_title = $wp_query->post->post_title;
    
    #9399
    grant
    Participant

    This is what I ended up using, as of 2018:

    <section id="top-<?=(is_front_page() ? 'home' : basename(get_permalink()));?>">
    
Viewing 5 posts - 16 through 20 (of 20 total)
  • You must be logged in to reply to this topic.