WordPress - 二十三 - 发表评论(评论) - 这可以编辑吗?

时间:2014-05-08 01:40:52

标签: wordpress

我对Leave a Repl WordPress主题底部的Twenty Thirteen y部分有疑问。在页面底部,您将看到要求您输入姓名,电子邮件,网站的区域,然后选择在评论中写入。

我想知道是否可以将网站更改为代理商。我看了几个文件,但似乎无法在代码中找到这个区域。我查看了Comments.php以及content.php文件。在content.php文件的底部,我确实看到了我认为可能需要编辑的部分,但不确定如何执行此操作。

以下是我正在讨论的区域的截图。

enter image description here

3 个答案:

答案 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');