我是WordPress主题开发的新手,我有以下疑问。
我正在开发一个以通常方式使用 BootStrap CSS框架的自定义主题:我创建了一组文件: index.php ,标头。 php , footer.php ,etcetc
对于评论,在开始时,我创建了一个空的 comments.php 文件,并且(显然)这样做我既不会阅读也不会发布新评论。
所以我复制并粘贴了WP Twenty_Fourteen 主题中 comments.php 文件的内容。
所以它似乎工作正常,但现在我有些疑惑。
这是我目前使用的 comments.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()返回的翻译文本(但是在languanges中?)
我也找到了类似的东西:
<?php next_comments_link( __( 'Newer Comments →', 'twentyfourteen' ) ); ?>
看看WordPress文档,它似乎明白__的含义与_e函数类似(或者我说的是错误的东西?)
我无法理解的是它如何工作 e 功能(以及* __功能)*。
阅读文档说它的用法是:
<?php _e( $text, $domain ) ?>
其中:
$ text :是一个字符串,代表要翻译的文字
$ domain :是一个字符串),表示用于检索已翻译文本的域(所以我认为它代表了翻译的位置 可以找到)
好的,所以在之前的代码中我有
$ text 是:'较新评论→'
那:
$ domain 是:二十三:预先安装的WordPress TwentyFourteen主题的名称或目录名称(或其他什么?)
所以我怀疑是:
1)我的'$ text'是'较新的评论→',那么翻译在哪里?在什么languanges定义?
2) e() 和 _()功能?
TNX
安德烈
答案 0 :(得分:2)
_e()
用于输出翻译的字符串,而__()
则返回翻译的文本。
所以_e()
基本上是echo __()
的简短版本。
如果不存在翻译,则返回字符串($ text)。否则返回翻译的字符串。需要添加语言文件才能使翻译工作。
查看二十四的语言文件夹。