【WordPress **_ e()**和**__()**函数有什么区别(它们是如何工作的?)】我是WordPress主题开发的新手, 我有以下疑问。
我正在开发一种以常规方式使用BootStrap CSS框架的自定义主题:我创建了以下文件集:index.php, header.php, footer.php等
对于注释, 在开始时, 我创建了一个空的comments.php文件, 并且(显然)以这种方式无法读取或发表新注释。
因此, 我已经复制并粘贴了WP Twenty_Fourteen主题中存在的comment.php文件的内容。
因此, 它似乎可以正常工作, 但现在我有一些疑问。
这是我目前正在使用的comment.php文件的代码:
<
?php
/**
* The template for displaying Comments
*
* The area of the page that contains comments and the comment form. *//*
* If the current post is protected by a password and the visitor has not yet
* entered the password we will return early without loading the comments.
*/
if ( post_password_required() ) {
return;
}
?>
<
div id="comments" class="comments-area">
<
?php if ( have_comments() ) : ?>
<
h2 class="comments-title">
<
?php
printf( _n( 'One thought on &
ldquo;
%2$s&
rdquo;
', '%1$s thoughts on &
ldquo;
%2$s&
rdquo;
', get_comments_number(), 'twentyfourteen' ), number_format_i18n( get_comments_number() ), get_the_title() );
?>
<
/h2>
<
?php if ( get_comment_pages_count() >
1 &
&
get_option( 'page_comments' ) ) : ?>
<
nav id="comment-nav-above" class="navigation comment-navigation" role="navigation">
<
h1 class="screen-reader-text">
<
?php _e( 'Comment navigation', 'twentyfourteen' );
?>
<
/h1>
<
div class="nav-previous">
<
?php previous_comments_link( __( '&
larr;
Older Comments', 'twentyfourteen' ) );
?>
<
/div>
<
div class="nav-next">
<
?php next_comments_link( __( 'Newer Comments &
rarr;
', 'twentyfourteen' ) );
?>
<
/div>
<
/nav>
<
!-- #comment-nav-above -->
<
?php endif;
// Check for comment navigation. ?>
<
ol class="comment-list">
<
?php
wp_list_comments( array(
'style'=>
'ol', 'short_ping' =>
true, 'avatar_size'=>
34, ) );
?>
<
/ol>
<
!-- .comment-list -->
<
?php if ( get_comment_pages_count() >
1 &
&
get_option( 'page_comments' ) ) : ?>
<
nav id="comment-nav-below" class="navigation comment-navigation" role="navigation">
<
h1 class="screen-reader-text">
<
?php _e( 'Comment navigation', 'twentyfourteen' );
?>
<
/h1>
<
div class="nav-previous">
<
?php previous_comments_link( __( '&
larr;
Older Comments', 'twentyfourteen' ) );
?>
<
/div>
<
div class="nav-next">
<
?php next_comments_link( __( 'Newer Comments &
rarr;
', 'twentyfourteen' ) );
?>
<
/div>
<
/nav>
<
!-- #comment-nav-below -->
<
?php endif;
// Check for comment navigation. ?>
<
?php if ( ! comments_open() ) : ?>
<
p class="no-comments">
<
?php _e( 'Comments are closed.', 'twentyfourteen' );
?>
<
/p>
<
?php endif;
?>
<
?php endif;
// have_comments() ?>
<
?php comment_form();
?>
<
/div>
<
!-- #comments -->
如你在前面的代码中看到的那样, 出现如下内容:
<
?php _e( 'Comments are closed.', 'twentyfourteen' );
?>
我知道_e函数显示从translate()返回的翻译文本(但是在什么语言中?)
我也找到类似的东西:
<
?php next_comments_link( __( 'Newer Comments &
rarr;
', 'twentyfourteen' ) );
?>
查看WordPress文档, 似乎可以理解__的含义类似于_e函数(或者我说错了吗?)
我不明白的是e函数(和* __函数)*的工作方式。
阅读文档说它的用法是:
<
?php _e( $text, $domain ) ?>
其中:
$ text:是表示要翻译的文本的字符串$ domain:是一个字符串), 表示要检索翻译文本的域(因此, 我认为它表示可以在哪里找到翻译的文本)好的, 所以在前面的代码中
$ text是:” 新评论→”
然后:
$ domain是:二十四是预先安装的WordPress TwentyFourteen主题的名称或目录名称(或其他名称?)
所以我的疑问是:
1)我的’ $ text’ 是’ Newer Comments→’ , 那么翻译在哪里?在什么领域定义?
2)e()和_()函数有什么区别?
特纳克斯
安德里亚
#1_e()用于输出翻译后的字符串, 而__()返回翻译后的文本。
因此, _e()本质上是echo __()的简短版本。
如果不存在翻译, 则返回字符串($ text)。否则, 将返回翻译后的字符串。需要添加语言文件才能进行翻译。
在二十四个语言文件夹中查找。
推荐阅读
- WordPress中受密码保护的页面的模板文件在哪里()
- wordpress中的get_the_*和the_*模板标签有什么区别()
- spring之源码环境构建
- Apache 配置与应用
- # yyds干货盘点# 盘点两种方法来判断一个列表里面,按关键词进行筛选,留下包含有关键词的论文题目
- 实验(Location与nginx rewrite 跳转网页的应用)
- Java 将PDF转为PDF/A
- 放弃visio了,这款画图工具才是真的香!
- 实战设计模式之访问者模式