前端更新_发布_元帮助

时间:2013-08-19 作者:sri

我遵循中提供的帮助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 }

?>
请有人对此提出建议吗?我已经像这样被困了好几天了。

1 个回复
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);

结束

相关推荐

Forms and WordPress Nonce

WordPress nonce快把我逼疯了!当我启动插件并删除它时,我遇到了这个问题,但现在我又回来了,仍然不知道该怎么办。我到处寻找解决办法。我的代码与其他示例相同/相似。我得到一个“未定义索引‘mrlpt\\u client\\u check’”错误。在基于用户功能检查权限时,我也会遇到与“mrlpt\\U客户端”相同的错误,但这是我创建的自定义帖子类型,所以我不确定为什么这也不起作用?这是nonce元素所在的代码。include只是在一个自定义元框中包含一个简短的表单,其中有两个输入字段,一个用于电