0

我对 PHP 开发很陌生。我正在尝试构建一个 WordPress 插件以获得体验。

我正在使用:

function spg_insert_comment_form() {

if ( ! is_admin() ) {
    print 'Test Form Position';
}

}

add_action( 'comment_form', 'spg_insert_comment_form' );

在联系表单中插入额外的 html。最终,我将添加一个提交评论的表单。

问题是(或至少我看到的唯一一个)是它在提交按钮之后插入了我的 html。是否有一个钩子可以让我将我的代码放在提交按钮之前,或者我应该采取另一种方法,例如启动插入我的表单的 JavaScript。

编辑:在等待回复时,我能够使用 PHP 调用 JavaScript 函数成功解决问题。它工作得很好,但我也在努力学习开发最佳实践。这种方法被认为是骇人听闻的吗?

4

3 回答 3

1

查看 comment_form 的所有可能操作,例如:

  • comment_form_before
  • comment_form_top
  • 评论表格
  • comment_form_after

http://codex.wordpress.org/Function_Reference/comment_form#Related

于 2013-05-17T21:46:07.313 回答
0

我相信你正在寻找的是priority变量..

在此处查看 API 文档

<?php
   add_action( $tag, $function_to_add, $priority, $accepted_args );
?> 

引:

“用于指定与特定操作关联的函数的执行顺序。较低的数字对应于较早的执行,具有相同优先级的函数按照它们添加到操作的顺序执行。”

也许给它一个更高的价值会使它在底部更远?但这取决于评论表单上连接了哪些其他插件

于 2013-05-17T21:46:26.653 回答
0

来到这里寻找解决方案,添加操作“comment_form_after_fields”,并在评论文本区域之前添加字段。希望能帮助任何将来来搜索的人:)

于 2013-08-16T17:30:23.137 回答