我对Leave a Repl
WordPress主题底部的Twenty Thirteen
y部分有疑问。在页面底部,您将看到要求您输入姓名,电子邮件,网站的区域,然后选择在评论中写入。
我想知道是否可以将网站更改为代理商。我看了几个文件,但似乎无法在代码中找到这个区域。我查看了Comments.php
以及content.php
文件。在content.php
文件的底部,我确实看到了我认为可能需要编辑的部分,但不确定如何执行此操作。
以下是我正在讨论的区域的截图。
答案 0 :(得分:3)
@ user2898224:
您要查找的文件是WordPress核心文件'wp-includes \ comment-template.php'。
您需要更改第2058行,如下所示:
'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
您需要做的就是在此行上将“网站”更改为“代理商”。
请注意,此更改会修改WordPress核心文件,因此,如果您想要升级WordPress安装,则需要在升级后再次进行相同的更改。
修改WordPress核心文件也不是一个好主意,但在这种情况下,变化足够小,你可以逃脱它。
如果您不想修改(也不应该)WordPress核心文件,您还可以执行以下操作:
在Twenty Thirteen主题的'comments.php'文件中,将此调用替换为comment_form函数:
<?php comment_form(); ?>
使用这段代码(是的,所有这些代码都是必需的):
<?php
$fields = array(
'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
'<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
'<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
'url' => '<p class="comment-form-url"><label for="url">' . __( 'Agency' ) . '</label> ' .
'<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
);
$comments_args = array(
'fields' => $fields
);
comment_form( $comments_args );
?>
这似乎是一种更复杂的方式来改变评论表单上的一个单词,但它可以防止你搞乱任何WordPress核心文件。
答案 1 :(得分:1)
在主题的Comments.php中,将无参数调用替换为comment_form(在底部)。你可以在那里传递修改。无需修改Core。请参阅comment_form API reference。
答案 2 :(得分:1)
您可以通过wordpress过滤器通过主题的functions.php添加或修改评论表单字段。 尝试将此添加到您的functions.php
function my_fields($fields) {
// replace url with agency
$fields['url'] = '<p class="comment-form-agency"><label for="agency">' . __( 'Agency' ) . '</label> ' .
'<input id="agency" name="agency" type="text" value="" size="30" /></p>';
return $fields;
}
add_filter('comment_form_default_fields','my_fields');
或者您可以将代理商输入添加为新字段
function my_fields($fields) {
$fields['agency'] = '<p class="comment-form-agency"><label for="agency">' . __( 'Agency' ) . '</label> ' .
'<input id="agency" name="agency" type="text" value="" size="30" /></p>';
return $fields;
}
add_filter('comment_form_default_fields','my_fields');