The usage of the wp_title function in WordPress development

Source: Internet
Author: User
: This article describes how to use the wp_title function in WordPress development. if you are interested in the PHP Tutorial, refer to it. The wp_title function is a function used to display titles such as articles, pages, and categories in WordPress. However, it does not display anything on the homepage index. This function has been used in official WordPress themes, but this function is always ignored in many custom themes.

Function meanings
The wp_title function is used to display the title of a page. for example, the title of an article is displayed on the article page. on the category page, the category name is displayed, but the index on the home page is displayed, this function will not display anything.
It is a bit like the adaptive usage of the get_the_title and single_cat_title () functions in WordPress (automatic judgment of pages, articles, categories, archives, and tags ).

Function declaration
It's a little long. I hope you can read it again with patience, even if it's only one time.

/** * Display or retrieve page title for all areas of blog. * * By default, the page title will display the separator before the page title, * so that the blog title will be before the page title. This is not good for * title display, since the blog title shows up on most tabs and not what is * important, which is the page that the user is looking at. * * There are also SEO benefits to having the blog title after or to the 'right' * or the page title. However, it is mostly common sense to have the blog title * to the right with most browsers supporting tabs. You can achieve this by * using the seplocation parameter and setting the value to 'right'. This change * was introduced around 2.5.0, in case backwards compatibility of themes is * important. * * @since 1.0.0 * * @param string $sep Optional, default is '»'. How to separate the various items within the page title. * @param bool $display Optional, default is true. Whether to display or retrieve title. * @param string $seplocation Optional. Direction to display title, 'right'. * @return string|null String on retrieve, null when displaying. */function wp_title($sep = '»', $display = true, $seplocation = '') {global $wpdb, $wp_locale; $m = get_query_var('m');$year = get_query_var('year');$monthnum = get_query_var('monthnum');$day = get_query_var('day');$search = get_query_var('s');$title = ''; $t_sep = '%WP_TITILE_SEP%'; // Temporary separator, for accurate flipping, if necessary // If there is a postif ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) { $title = single_post_title( '', false );} // If there's a category or tagif ( is_category() || is_tag() ) { $title = single_term_title( '', false );} // If there's a taxonomyif ( is_tax() ) { $term = get_queried_object(); $tax = get_taxonomy( $term->taxonomy ); $title = single_term_title( $tax->labels->name . $t_sep, false );} // If there's an authorif ( is_author() ) { $author = get_queried_object(); $title = $author->display_name;} // If there's a post type archiveif ( is_post_type_archive() ) $title = post_type_archive_title( '', false ); // If there's a monthif ( is_archive() && !empty($m) ) { $my_year = substr($m, 0, 4); $my_month = $wp_locale->get_month(substr($m, 4, 2)); $my_day = intval(substr($m, 6, 2)); $title = $my_year . ( $my_month ? $t_sep . $my_month : '' ) . ( $my_day ? $t_sep . $my_day : '' );} // If there's a yearif ( is_archive() && !empty($year) ) { $title = $year; if ( !empty($monthnum) ) $title .= $t_sep . $wp_locale->get_month($monthnum); if ( !empty($day) ) $title .= $t_sep . zeroise($day, 2);} // If it's a searchif ( is_search() ) { /* translators: 1: separator, 2: search phrase */$title = sprintf(__('Search Results %1$s %2$s'), $t_sep, strip_tags($search));} // If it's a 404 pageif ( is_404() ) { $title = __('Page not found');} $prefix = '';if ( !empty($title) ) $prefix = " $sep "; // Determines position of the separator and direction of the breadcrumbif ( 'right' == $seplocation ) { // sep on right, so reverse the order$title_array = explode( $t_sep, $title );$title_array = array_reverse( $title_array );$title = implode( " $sep ", $title_array ) . $prefix;} else { $title_array = explode( $t_sep, $title ); $title = $prefix . implode( " $sep ", $title_array );} $title = apply_filters('wp_title', $title, $sep, $seplocation); // Send it out if ( $display ) echo $title; else return $title; }

Usage

<?php wp_title( $sep, $echo, $seplocation ); ?>

Parameter details

  • $ Sep: delimiter;
  • $ Echo: whether to display;
  • $ Seplocation: separator location (left or right, only 'right' is accepted. if not, the separator is automatically determined to be left)

Summary

There are many functions with the same function in WordPress, which are encapsulated from the grassroots to the advanced to reach the use layer. of course, if we need some flexible usage, we can directly use the functions at the intermediate layer. if we are lazy, we can directly use the top-level functions, such as the wp_title function. In fact, from the source code, we can see this function, wp judges the categories, tags, articles, archives, authors, pages, and other types of pages, and calls different Title functions based on different pages.
If you have time, you can conduct in-depth research on the following functions and perform seo more flexibly.
Single_post_title function for extracting titles on the document page
The functions of single_term_title tag, cat, date, and title extraction are similar to the functions of single_cat_title ().
Get_queried_object: the object extraction function on the author page (the object contains the author name)
Post_type_archive_title (), and so on.
What are you waiting?
GO!

The above describes how to use the wp_title function in WordPress development, including some content, and hope to help those who are interested in the PHP Tutorial.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.