如何制作自定义Wordpress评论表单?

时间:2009-09-01 10:36:38

标签: php wordpress

我已经制作了以下表单,但它不起作用,因为它不会在帖子请求中发送帖子ID。

<?php
require('./wp-blog-header.php');
$post = get_post($_GET['p']);
?>

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" >
<label>Name : </label><br/>
<input name="author" id="author" type="text"/><br/>
<label>Comment : </label><br/>
<textarea name="comment" id="comment"></textarea><br/><br/>
<input name="submit"type="submit" id="submit"  value="Submit" />
<?php comment_id_fields(); ?>
<?php do_action('comment_form', $post->ID); ?>
</form>

2 个答案:

答案 0 :(得分:1)

Wordpress将删除任何无法识别的网址参数。在url字符串中添加自定义参数的一种方法是使用Add_Query_Args()函数。

查看Add_Query_Args Function Reference

这应该可以解决您的问题。祝你好运。

答案 1 :(得分:1)

只需进行一些调整就可以使其正常工作。

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

<p><input type="text" name="author" id="author" value="" size="22" tabindex="1" /> 
<label for="author"><small>*</small></label></p> 

<p><input type="text" name="email" id="email" value="" size="22" tabindex="2"  /> 
<label for="email"><small>*</small></label></p> 

<p><textarea name="comment" id="comment" cols="48" rows="10" tabindex="4" onFocus="clearText(this)" onBlur="clearText(this)" ></textarea></p> 

<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit" /> 
<?php comment_id_fields(); ?>

<?php do_action('comment_form', $post->ID); ?>
</form>

以上代码适用(对我而言)。基本上,您在表单上缺少id。 WP显然使用该id作为验证过程的一部分。

因此,要使其正常运行,请将id="commentform"添加到您的表单标记中,它应该可以正常工作。