如何将类添加到评论提交按钮?

时间:2011-06-10 作者:m-torin

如何将类添加到comment submit按钮?简化功能comment_form(array(\'id_submit\'=>\'buttonPro\')); 显然只会更改id和class_submit 似乎不存在。

这两本我都读过了Otto\'sBeau\'s 写了但没有用。

7 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

如果您签出函数的源代码comment_form(), 您将看到它甚至没有在输入上打印类;

<input name="submit" type="submit" id="<?php echo esc_attr( $args[\'id_submit\'] ); ?>" value="<?php echo esc_attr( $args[\'label_submit\'] ); ?>" />
我猜你需要为样式添加一个类?为什么不把你的CSS修改为:;

input.submit, #buttonPro {
    /* some awesome style */
}
否则,我想“最简单”的解决方案是简单地将函数复制到functions.php, 重命名它,添加类参数(&P);打印并使用它-您可以find here ;)

SO网友:Mayeenul Islam

来自WordPress版本4.1(trac ticket #20446)现在添加它来传递您自己的类作为的参数comment_form($args) 使用\'class_submit\' 数组键:

$args = array( \'class_submit\' => \'btn btn-default\' );
不需要做额外的艰苦工作。(也编辑了法典):)

SO网友:Philip Downer

我也在使用基金会框架。我发现,将类添加到不可筛选元素的最简单方法是使用jQuery。

jQuery(document).ready(function($) { //noconflict wrapper
    $(\'input#submit\').addClass(\'button\');
});//end noconflict

SO网友:Otto

为什么在提交按钮上需要一个类?你可以给它一个ID,正如你所发现的,这就是你所需要的样式。

comment_form(array(\'id_submit\'=>\'buttonPro\'));
然后设置样式:

input#buttonPro {...}
简单。或者,如果您喜欢仅出于某种原因使用类:

.form-submit input {...}
从任何角度来看,在评论表单的提交按钮上添加一个类都没有好处。

SO网友:Aamer Shahzad

我正在搜索相同的解决方案,最后我找到了解决方案,下面的代码对我来说非常适合,我想在评论表单中的提交按钮中添加“btn btn primary”类。

ob_start();
comment_form( $args );
$form = ob_get_clean(); 
$form = str_replace(\'class="comment-form"\',\'class="comment-form"\', $form);
echo str_replace(\'id="submit"\',\'class="btn btn-primary"\', $form);
我使用的$参数是

$args = array(
\'comment_field\' => \'<p class="comment-form-comment"><label for="comment">Comment</label> <textarea class="form-control" id="comment" name="comment" cols="35" rows="12" aria-required="true"></textarea></p>\',
\'fields\'        => array(
    \'author\' => \'<p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input class="form-control input-comment-author" id="author" name="author" type="text" value="" size="30" aria-required="true"></p>\',
    \'email\'  => \'<p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input class="form-control input-comment-email" id="email" name="email" type="text" value="" size="30" aria-required="true"></p>\',
    \'url\'    => \'<p class="comment-form-url"><label for="url">Website</label> <input class="form-control input-comment-url" id="url" name="url" type="text" value="" size="30"></p>\',
),
\'cancel_reply_link\' => \'<button class="btn btn-danger btn-xs">Cancel reply</button>\',
\'label_submit\' => \'Post Comment\',);

SO网友:Marjan

我建议那些有这个问题的人为“发表评论”id设置一个样式,就像我所做的那样:

#post-comment {
background: none repeat scroll 0 0 transparent;
border: 1px solid #FFFFFF;
padding: 8px 20px;
float: left;}
祝你好运!:)

SO网友:Alex Burr

我打算(晚些时候)回复,因为我一直在寻找答案,并决定自己解决这个问题。

首先,回答“为什么要添加类?”。。。在我的例子中,我选择使用一个名为Foundation 为我的个人博客设计我最近的主题。我选择它正是因为我喜欢它style for buttons. 但是,它要求开发人员向<input> 按钮,直到我几乎完全完成了主题,我才意识到这不能在WP中完成!

这就是我所做的。我必须编辑/wp-includes/comment-template.php 文件,因此使用风险自负,因为它可能在WP升级过程中被删除。

线后


1540 (自版本3.2.1起)添加以下行:

\'class_submit\'         => \'submit\',
然后换行1576 以下内容:

<input name="submit" class="<?php echo esc_attr( $args[\'class_submit\'] ); ?>" type="submit" id="<?php echo esc_attr( $args[\'id_submit\'] ); ?>" value="<?php echo esc_attr( $args[\'label_submit\'] ); ?>" />
现在您有了一个新的默认值class_submit 可以包含在$args 上的数组参数comment_form() 功能:

<?php comment_form(
        array(              
            \'class_submit\' => __(\'XXX\'),
        )
    ); ?>
措辞愉快!

结束

相关推荐

Users moderate own comments

我正在整理一个投资组合网站,遇到了一些我想实现的东西,但我不确定如何着手去做。基本上,由于该网站目前处于开发阶段,用户从未(或将不得不)访问wp admin来更改其任何详细信息,他们可以通过用户配置文件页面来实现这一点。每个用户都有一个公文包/个人简历页面,页面底部有一个评论表单,我想做的是让该页面上留下的任何评论都由该页面所有者主持,即完美的解决方案是:1) 通过电子邮件通知生物页面所有者他们有新的评论。2) Bio页面所有者登录并转到用户配置文件页面查看评论,然后接受/拒绝评论,接受后发布。任何人都有