自动填充自定义备注字段

时间:2013-06-19 作者:bysanchy

感谢您的阅读,

在本教程之后,我向注释表单添加了自定义字段,并将输入保存在DB中http://wp.smashingmagazine.com/2012/05/08/adding-custom-fields-in-wordpress-comment-form/comment-page-1/#comment-115187

现在,我希望在用户发表一次评论后,评论表单中的元字段自动填充。

就像wordpress处理名称、电子邮件和Url一样;注释后,值将保留在字段中。然而,wordpress使用$commenter[\'comment\\u author\']来实现这一点,而这个数组没有我要查找的数据。

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

您可以将这些值存储在cookie中,并在创建表单输入时填充它们。

所以在save_comment_meta_data 添加如下内容:

$commenter_data = array(
  \'phone\' => $phone,
  ...
);
setcookie(\'commenter_data\', serialize($commenter_data), time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);
然后在创建表单时:

$commenter_data = isset($_COOKIE[\'commenter_data\']) ? unserialize($_COOKIE[\'commenter_data]) : array();
echo \'<p class="comment-form-title">\'.
\'<label for="phone">\' . __( \'Commenter Phone\' ) . \'</label>\'.
\'<input id="phone" name="phone" type="text" size="30"  tabindex="5" value="\'. (array_key_exists(\'phone\', $commenter_data) ? $commenter_data[\'phone\'] : \'\') .\'" /></p>\';

结束