Use ajax to update_post_meta

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

2天前我问this 然后,我尝试编写代码,以便能够理解ajax和php是如何工作的,现在我有了一个新问题,这个问题可能很容易解决。

以下是我的代码:

<?php
/*
Template Name: Nuovo form
*/
?>
<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 

    <script> 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind \'myForm\' and provide a simple callback function 
            $(\'#myForm\').ajaxForm(function() { 
                alert("Thank you for your comment!"); 
            }); 
        }); 
    </script> 
<?php wp_head();?>
</head> 
<body>
<form id="myForm" action="<?php echo get_template_directory_uri();?>/nuovoform/comment.php" method="post"> 
    Name: <input type="text" name="name" /> 
    Comment: <textarea name="comment"></textarea> 
    <input type="submit" value="Submit Comment" /> 
</form>
</body>
</html>
那么这就是我的评论。php

<?php 
// This is comment.php content
$nuovoform = 0;
$nuovocommento = 1;
if ( isset( $_POST[\'name\'] )){
$nuovoform = $_POST[\'name\'];}
if ( isset( $_POST[\'comment\'] )){
$nuovocommento = $_POST[\'comment\'];}
update_post_meta($post->ID,\'varcontrollo\',$nuovoform);
$controlliamo = get_post_meta($post->ID, \'varcontrollo\', true);
?>
“varcontrollo”是使用自定义字段模板插件创建的自定义元字段。

我要做的是使用我创建的表单将结果存储在自定义字段中。如果我尝试浏览评论。php它说:

致命错误:调用D:\\Locali\\xampp\\htdocs\\wp content\\themes\\slotlandia\\nuovoform\\comment中未定义的函数update\\u post\\u meta()。php第8行

可能我必须“导入”WordPress“全局”变量,但我不知道我要写什么。

有人能帮我吗?非常感谢你。

1 个回复
最合适的回答,由SO网友:ifdion 整理而成

这将不起作用,因为您引用的是单个php文件,而不是整个WordPress环境。

在WordPress中使用ajax有一种更简单的方法。

使用admin_url(\'admin-ajax\') 作为表单操作,然后将响应ajax调用的函数放入主题的函数中。php。

更多详情请参见answer

结束

相关推荐

使用AJAX的前端更新_POST_META

正如标题中所写,我正在尝试使用Ajax更新post\\u meta。事实上,我对Ajax及其工作原理完全是新手,如果可能的话,如果有人能“牵着我的手”并解释如何实现这一点,我将不胜感激。实际上这是我的代码:<?php // in custom page template if ( isset( $_POST[\'5e\'] ) && wp_verify_nonce($_POST[\'5e\'],\'update_5e_postmeta\') ) { /