wordpress函数title()应用替换优化

1、函数原型

<?php wp_title( $sep, $echo, $seplocation ); ?>
<title><?php wp_title('&laquo;', true, 'right'); ?> <?php bloginfo('name'); ?></title>

2、参数

$sep
(字符串)(可选)显示在文章标题前后的文字信息(如分隔符)。默认情况下(若分隔符被设为空),那么文章标题前后(由seplocation参数决定)会显示 & raquo; (»)符号。
默认值:
& raquo; (»)
$echo
(布尔型)(可选)回应标题(True),或以PHP字符串形式返回标题(False)。
默认值:True
1 (True) ——默认值
0 (False)
$seplocation
(字符串)(可选)引入于WordPress 2.5,该参数决定sep字符串相对于文章标题的位置。除“right”外的所有值都会将sep放在文章标题前(左侧)。如果seplocation的值为'right',那么sep字符串会显示在文章标题后。
默认值:None
3、用法举例
functions.php中,可以这样改造封装

实例一

首页 header.php 调用

<title><?php wp_title(''); ?></title>

functions.php 加入

add_filter( 'wp_title', 'wpdocs_hack_wp_title_for_home' );
 
/**
 * Customize the title for the home page, if one is not set.
 *
 * @param string $title The original title.
 * @return string The title to use.
 */
function wpdocs_hack_wp_title_for_home( $title )
{
  if ( empty( $title ) && ( is_home() || is_front_page() ) ) {
    $title = __( 'Home', 'textdomain' ) . ' | ' . get_bloginfo( 'description' );
  }
  return $title;
}

实例二

首页 header.php

<title><?php wp_title('|', true, 'right'); ?></title>

functions.php 加入

/**
 * Creates a nicely formatted and more specific title element text
 * for output in head of document, based on current view.
 *
 * @param string $title Default title text for current view.
 * @param string $sep   Optional separator.
 * @return string Filtered title.
 */
function wpdocs_filter_wp_title( $title, $sep ) {
    global $paged, $page;
 
    if ( is_feed() )
        return $title;
 
    // 添加网站名称
    $title .= get_bloginfo( 'name' );
 
    // 为首页添加网站描述 home/front page.
    $site_description = get_bloginfo( 'description', 'display' );
    if ( $site_description && ( is_home() || is_front_page() ) )
        $title = "$title $sep $site_description";
 
    // 在页面标题中添加页码
    if ( $paged >= 2 || $page >= 2 )
        $title = "$title $sep " . sprintf( __( 'Page %s', 'twentytwelve' ), max( $paged, $page ) );
 
    return $title;
}
add_filter( 'wp_title', 'wpdocs_filter_wp_title', 10, 2 );

PS
WordPress开发团队,已经声明在未来,WordPress4.0以上,会对API升级,让用户让用户选择的文档标题,下面是给出一个对wp_title()函数改进的方向:

if ( ! function_exists( '_wp_render_title_tag' ) ) :
    function theme_slug_render_title() {
?>
<title><?php wp_title( '-', true, 'right' ); ?></title>
<?php
    }
    add_action( 'wp_head', 'theme_slug_render_title' );
endif;

如果你对wp_title的改进升级感兴趣,可以查看官方开发文档:
https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/


发布日期:

所属分类: WordPress 函数



没有相关文章!

下一篇:

没有了,已经是最新文章