我遵循中提供的帮助this 问题,但无法获取保存数据的表单。我尝试使用“save\\u post”操作挂钩来尝试保存帖子,就像我们在管理端所做的那样。任何帮助都将不胜感激。
我的代码如下:
/*这位于模板的get\\u header()上方*/
if ( isset( $_POST[\'grn_data\'] ) && wp_verify_nonce($_POST[\'grn_data\'],\'update_grn_postmeta\') )
{ //if nonce check succeeds.
global $post;
$postid = $post->ID;
$data = $_POST[\'grn\'];
update_post_meta($postid,\'grn\',$data);
}
表格在一个单独的文件中,我会随时调用它。
<?php
/* This file is to provide input fields to record data from Front End */
function grn_data($c) {
global $post;
$grn = array();
?>
<div class="grndata">
<label for="grn" id="grnhead">GRN</label>
<div class="toggle-fedata">
<ul>
<?php
$curgrn = \'grn\';
$grnval = get_post_meta($post->ID, $curgrn, true); ?>
<form method="post" action="">
<?php wp_nonce_field(\'update_grn_data\',\'grn_data\'); ?>
<input type="text" size="30" maxlength="30" name="<?php echo $curgrn; ?>" value="<?php echo $grnval; ?>" />
<input type="submit" value="Save" />
<?php var_dump($grnval); ?>
<?php var_dump($curgrn); ?>
</form>
</div></div>
<?php }
?>
请有人对此提出建议吗?我已经像这样被困了好几天了。
SO网友:Anjum
您的临时操作名称错误使用与中输入的相同wp_nonce_field(\'update_grn_data\',\'grn_data\');
而且你忘了回显nonce,试试这个
if ( isset( $_POST[\'grn_data\'] ) && wp_verify_nonce($_POST[\'grn_data\'],\'update_grn_data\') ) {
//if nonce check succeeds.
$postid = $_POST[\'post_id\'];
$data = $_POST[\'grn\'];
update_post_meta($postid,\'grn\',$data);
}
表格
<?php
/* This file is to provide input fields to record data from Front End */
function grn_data($post_id) { ?>
<div class="grndata">
<label for="grn" id="grnhead">GRN</label>
<div class="toggle-fedata">
<?php
$curgrn = \'grn\';
$grnval = get_post_meta($post_id, $curgrn, true); ?>
<form method="post" action="">
<?php echo wp_nonce_field(\'update_grn_data\',\'grn_data\'); ?>
<input type="text" size="30" maxlength="30" name="<?php echo $curgrn; ?>" value="<?php echo $grnval; ?>" />
<input type="submit" value="Save" />
<?php var_dump($grnval); ?>
<?php var_dump($curgrn); ?>
</form>
</div>
</div>
<?php } ?>
现在调用表单
echo grn_data($post->ID);