使用AJAX的前端更新_POST_META

时间:2012-07-24 作者:maisdesign

正如标题中所写,我正在尝试使用Ajax更新post\\u meta。事实上,我对Ajax及其工作原理完全是新手,如果可能的话,如果有人能“牵着我的手”并解释如何实现这一点,我将不胜感激。

实际上这是我的代码:

<?php
// in custom page template
if ( isset( $_POST[\'5e\'] ) && wp_verify_nonce($_POST[\'5e\'],\'update_5e_postmeta\') )
    { //if nonce check succeeds.
        global $post;
        $postid = $post->ID;
        $data = $_POST[\'cinqueuro\'];
        update_post_meta($postid,\'Banconote5\',$data);
    }
;?>
<?php

$cinqueuro = get_post_meta($post->ID, \'Banconote5\', true);?>
<form method="post" action="">
   <?php wp_nonce_field(\'update_5e_postmeta\',\'5e\'); ?>
   <label>Banconote da 5</label>
   <input type=\'text\' name=\'cinqueuro\' value=\'<?php echo $cinqueuro ;?>\' />
   <input type=\'submit\' value=\'save\' />
</form>
<h4>Valore banconote da 5 =  <?php $tot5 = ($cinqueuro*=5);echo $tot5 ;?>&euro;</h4>
它可以工作并让我看到结果,但只有在单击“保存”按钮之后。

我需要的是,每次在表单中插入一个值时,它都会自动保存在DB中并完成操作。

我的PHP代码基本上取自以下答案:Front-end update_post_meta snippet displays white screen?

1 个回复
SO网友:Brian Fegter

您应该在WordPress上查看此文档。组织机构:http://codex.wordpress.org/AJAX_in_Plugins

它为您提供了创建正面XHR功能所需的一切。确保为未登录的用户设置nopriv挂钩。http://codex.wordpress.org/AJAX_in_Plugins#Ajax_on_the_Viewer-Facing_Side

此外,JS变量ajaxurl仅在后端设置。您需要自己在前端定义它。

如果你有任何问题,请告诉我。

结束

相关推荐

应用过滤器、嵌入和AJAX不是朋友吗?

我遇到了一个问题。。。存在包含YouTube链接的内容Lorem ipsum bla bla bla blahttp://www.youtube.com/watch?v=nTDNLUzjkpg我的插件在视图中显示此内容和该代码:<?php echo apply_filters( \'the_content\', $data[\'meta\']->start_page_content ); ?> 问题是,如果您通过浏览器使用常见的GET方法打开页面,链接将成为YouTube播放器