WordPress中获取标题的函数有两个,可能大家在主题中见到最多的就是the_title这个函数,其实get_the_title也是可以得到标题的。只不过 the_title 默认直接显示,get_the_title 默认返回字符串。
什么是直接显示呢?就是说在不使用echo函数打印,只要调用这个函数就会自动执行打印操作,其实就是该函数有个参数控制最后是echo打印呢还是return返回。
get_the_title与the_title的区别
get_the_title 和 the_title这两个函数主要用于在循环中显示当前文章的标题,请注意 the_title 这个函数必须使用在循环中。两者的区别在于,get_the_title仅能以字符串形式返回文章标题,而 the_title 可以设置标题前后的自定义字符,以及是显示还是返回字符串。
the_title 函数使用、参数详解
the_title( $before, $after, $echo );
$before
标题前的字符$after
标题后的字符$echo
显示、还是返回字符串,默认为true
the_title示例
- the_title( ‘=>’, ‘<=’ );
以本文为例,我们将得到以下这样的标题:
‘=>get_the_title 和 the_title
get_the_title 函数使用、参数详解
- $myTitle = get_the_title($ID);
以上代码我们将得到文章标题的变量$myTitle;
$ID
用于设置文章 ID ,当然在循环中我们可以省略此参数。
get_the_title 示例
复制
$myTitle = get_the_title($ID); echo $mytitle.'⌈标题演示⌋';
上面将会输出
标题⌈标题演示⌋
the_title 函数声明
该函数位于 wp-include/post-template.php 文件的 43 – 55行左右的位置
复制
/** * Display or retrieve the current post title with optional content. * * @since 0.71 * * @param string $before Optional. Content to prepend to the title. * @param string $after Optional. Content to append to the title. * @param bool $echo Optional, default to true.Whether to display or return. * @return null|string Null on no title. String if $echo parameter is false. */ function the_title($before = '', $after = '', $echo = true) { $title = get_the_title (); if (strlen ( $title ) == 0) return; $title = $before . $title . $after; if ($echo) echo $title; else return $title; }
get_the_title 函数声明
该函数位于 wp-include/post-template.php 文件的 103 – 118行左右的位置
复制
/** * Retrieve post title. * * If the post is protected and the visitor is not an admin, then "Protected" * will be displayed before the post title. If the post is private, then * "Private" will be located before the post title. * * @since 0.71 * * @param int $id Optional. Post ID. * @return string */ function get_the_title($id = 0) { $post = &get_post ( $id ); $title = isset ( $post->post_title ) ? $post->post_title : ''; $id = isset ( $post->ID ) ? $post->ID : ( int ) $id; if (! is_admin ()) { if (! empty ( $post->post_password )) { $protected_title_format = apply_filters ( 'protected_title_format', __ ( 'Protected: %s' ) ); $title = sprintf ( $protected_title_format, $title ); } else if (isset ( $post->post_status ) && 'private' == $post->post_status) { $private_title_format = apply_filters ( 'private_title_format', __ ( 'Private: %s' ) ); $title = sprintf ( $private_title_format, $title ); } } return apply_filters ( 'the_title', $title, $id ); }
评论 (0)