WordPress自定义表单操作URL

时间:2011-07-26 作者:Zixion

是否有任何方法可以替代标准的WordPress评论表单操作,该操作通常如下所示:

<form action="<?php echo get_option(\'siteurl\'); ?>/wp-comments-post.php" method="post" id="commentform">

在不改变注释的情况下进行自定义。php(即,对于插件,您不必让最终用户编辑他们的主题):

<form action="<?php echo get_option(\'siteurl\'); ?>/wp-comments-post.php" some_java_script some_tag="some_value" method="post" id="commentform">

2 个回复
SO网友:Bainternet

jQuery简单:

//first make sure you have jQuery on that page
add_action(\'wp_enqueue_scripts\',\'make_sure_i_have_jquery\');
function make_sure_i_have_jquery(){
    if (!is_admin())
        wp_enqueue_script( \'jquery\' );
}
//then just change the url to you own
    add_action(\'wp_footer\',\'change_comment_form\');
    function make_sure_i_have_jquery(){
        if (!is_admin() && (is_page() || is_single()))
            echo \'<script> $("#commentform").attr("action", "http://yourUrl.com"); </script>\';
    }
只需将其粘贴到主题的函数中即可。php或您正在开发和更改的插件http://yourUrl.com 指向所需的url

SO网友:llgruff

将此粘贴到主题的函数中。php:

add_action( \'comment_form_before\', \'my_comment_form_before\' );
function my_comment_form_before() {
    ob_start();
}
add_action( \'comment_form_after\', \'my_comment_form_after\' );
function my_comment_form_after() {
    $html = ob_get_clean();
    $html = preg_replace(
        \'/wp-comments-post.php"/\',
        \'wp-comments-post.php" some_java_script some_tag="some_value"\',
        $html
    );
    echo $html;
}

结束

相关推荐

目前针对Comments.php推荐的最佳实践是什么?

我正准备向提交一个主题。Org repo并希望确保一切正常。我的设计中留下的最大漏洞之一是注释模板。我看了一下评论。php有几个主题,其中有210个是主要主题,并且比我开始时更加困惑。看起来(基于Otto、WP Engineer等的教程)注释模板已经简化,但当我查看大多数主题注释的来源时。php,它们仍然像基督教蒙托亚时代一样错综复杂。那么,请帮助我——设置注释模板的最佳方法是什么?该模板将捕获WP 3.0/3.1中最先进的功能,同时保持代码的简单性?