我已经制作了以下表单,但它不起作用,因为它不会在帖子请求中发送帖子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>
答案 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"
添加到您的表单标记中,它应该可以正常工作。