使用上有什么区别吗
<?php get_the_title(); ?>
或<?php single_post_title(); ?>
因为我总是可以得到相同的值使用上有什么区别吗
<?php get_the_title(); ?>
或<?php single_post_title(); ?>
因为我总是可以得到相同的值single_post_title()
和get_the_title()
工作方式完全不同。
get_the_title()
(或the_title()
, 将在中获得当前帖子的标题the loop:
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_title();
endwhile;
endif;
?>
因此,当在循环中使用时,它是用于获取博客和存档模板中每个帖子的帖子标题的函数。get_the_title()
也可用于获取特定帖子的标题。这可以通过将ID传递给您想要其标题的帖子来实现:echo get_the_title( 123 );
<小时>single_post_title()
, 另一方面,获取查询对象的标题。当您在单个帖子或页面上时,“查询对象”将是WP_Post
表示该帖子或页面,以及single_post_title()
获取该帖子的标题。我发现this article 它更详细地描述了查询的对象是什么。因此,在单个模板上,这几乎肯定与循环中的当前帖子相同。但是,由于此函数始终返回查询对象的标题,因此可以使用它在循环外部或辅助循环内部获取当前页面的标题。
还要注意的是,由于博客和归档文件的查询对象不是单个帖子或页面,single_post_title()
无法在这些页面上工作。对于要使用的页面the_archive_title()
, 或分类档案,single_term_title()
.
是的,两者有一些区别。让我们看看。
这是针对单个优化的。用于显示文章标题的php模板文件。它不支持在标题后放置分隔符,但通过将prefix参数保留为空,可以手动设置标题分隔符。前缀不会自动在前缀之间放置空格,因此如果应该有空格,则参数值需要将其放在末尾。
Parameters
$prefix
默认值:“”
$display
默认值:true
<小时/>
如果帖子受到保护,而访问者不是管理员,那么;“受保护”;将显示在文章标题之前。如果帖子是私人的,那么;“私人”;将位于帖子标题之前。Parameters
$post
默认值为全局$post。
老实说,我甚至不知道有一个\\u post\\u title()。我只使用get\\u the\\u title()或the\\u title(),这取决于我是否需要回显值。这些可以在任何地方使用,可以使用全局post,也可以传递ID。
两者都不同。
获取\\u标题(int | WP\\u Post$Post)-检索文章标题如果帖子受到保护,并且访问者不是管理员,那么“受保护”将显示在帖子标题之前。如果帖子是私有的,那么“私有”将位于帖子标题之前。
显示或检索文章的页面标题这是针对单个优化的。用于显示文章标题的php模板文件。
它不支持在标题后放置分隔符,但通过将prefix参数保留为空,可以手动设置标题分隔符。前缀不会自动在前缀之间放置空格,因此如果应该有空格,则参数值需要将其放在末尾。
我用PHP制作了一个年龄计算器。它在localhost/age/age-calculator.php我已将此文件作为wp主题页模板移动theme/mytheme/page-template/age-calculator.php<?php get_header(); /* Template Name: Age Calculator */ 创建页面并与此页面模板链接。输入表单工作正常,但在提交数据时。WordPress不会显示任何结果,也不会将我带到主页上。但在loca