我是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 “%2$s”', '%1$s thoughts on “%2$s”', 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( __( '← Older Comments', 'twentyfourteen' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments →', '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( __( '← Older Comments', 'twentyfourteen' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments →', '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 →', '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)。否则, 将返回翻译后的字符串。需要添加语言文件才能进行翻译。
在二十四个语言文件夹中查找。
评论前必须登录!
注册