如何自定义WordPress评论提交按钮

时间:2012-08-07 16:02:04

标签: wordpress comments styles

我正在尝试自定义

的输出代码
<?php comment_form(); ?>

提交按钮输出以下内容:

<p class="form-submit">
    <input name="submit" type="submit" id="submit" value="Post Comment">
    <input type="hidden" name="comment_post_ID" value="486" id="comment_post_ID">
    <input type="hidden" name="comment_parent" id="comment_parent" value="0">
</p>

我希望输出以下内容:

<div class="darkbutton" onclick="document.commentform.submit()">
    <span class="darkbutton-left"></span><a href="javascript: submitform()">Log In</a>  
    <span class="darkbutton-right"></span>
</div>

以完全重新设置按钮。现在我知道可以通过编辑comment-template.php中的核心Wordpress文件来完成,但如果还有其他方法,我真的不想这样做。

任何建议都非常感谢! :)

4 个答案:

答案 0 :(得分:8)

有一个技巧

.form-submit{display: none;}

您可以在

之后关注
$args = array(
 'comment_notes_after' => '<button type="submit" id="submit-new"><span>'.__('Post Comment').'</span></button>' 
);
comment_form($args);

答案 1 :(得分:3)

我需要添加一个类来形成标签和提交按钮。我不知道我在哪里找到它,但这个解决方案帮助了我。您必须修改str_replace以满足您的需求。

ob_start(); 
comment_form($comments_args, $post_id);
$form = ob_get_clean(); 
$form = str_replace('class="comment-form"','class="comment-form my-class"', $form);
echo str_replace('id="submit"','class="btn btn-warning"', $form);

答案 2 :(得分:1)

Wrodpress有“Pluggable Functions”这允许你覆盖一些核心功能。这很有用,因为它们在升级等时不会覆盖您的更改。但是,它看起来不像comment_form()就是其中之一。

如果您希望避免修改核心文件,为什么不编辑模板文件以输出所需的代码而不是调用comment_form()函数?否则,我很确定你只需修改该文件。

答案 3 :(得分:0)

您可以阅读有关此问题here的一些讨论,但它看起来不像是对WP代码库进行了任何修复。

目前,我正在使用jQuery对客户端的按钮进行样式更改。您可以使用jQuery生成<div>块,然后通过执行以下操作隐藏其form-submit块:

.form-submit {
    display: none;
}

这不是万无一失的代码,但它是一个可以工作的黑客,直到他们更好地实现了。