2

I am trying to customise the output code of

<?php comment_form(); ?>

At the moment the submit button outputs the following:

<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>

I would like it to output the following:

<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>

so as the completely restyle the button. Now I know it could be done by editing the core Wordpress files in comment-template.php but I really don't want to have to do this if there is any other way.

Any suggestions greatly appreciated! :)

4

4 回答 4

7

有个窍门

.form-submit{display: none;}

之后可以关注

$args = array(
 'comment_notes_after' => '<button type="submit" id="submit-new"><span>'.__('Post Comment').'</span></button>' 
);
comment_form($args);
于 2014-02-17T15:42:57.900 回答
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);
于 2013-11-08T12:49:38.457 回答
1

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

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

于 2012-08-07T16:06:28.320 回答
0

您可以在此处阅读有关此问题的一些讨论,但似乎没有对 WP 代码库进行任何修复。

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

.form-submit {
    display: none;
}

这不是万无一失的代码,但在他们实现更好的东西之前,它是一种黑客攻击。

于 2013-07-24T01:35:08.920 回答