Database Query not working

时间:2015-08-21 作者:Addzy

我一直在关注SteveMarks的一个教程,该教程介绍了如何将帖子中的信息添加到新的Database Table 和往常一样postmeta 一然而,无论我尝试什么,它都不会将信息存储在新表中,有人能看到我的错误吗?

教程可在以下位置获得:http://biostall.com/performing-a-radial-search-with-wp_query-in-wordpress 我的帖子类型是festival-event 我将自定义帖子类型的名称与函数中的名称相同,以查看是否遗漏了某些内容。

这个SQL 我过去在db中创建的表是:

CREATE TABLE IF NOT EXISTS `lat_lng_post` (  
  `post_id` bigint(20) unsigned NOT NULL,  
  `lat` float NOT NULL,  
  `lng` float NOT NULL  
) ENGINE=InnoDB;  
以及functions.php 文件为:

function save_lat_lng( $post_id )   
{  
    global $wpdb;  

    // Check that we are editing the right post type  
    if ( \'location\' != $_POST[\'festival-event\'] )   
    {  
        return;  
    }  

    // Check if we have a lat/lng stored for this property already  
    $check_link = $wpdb->get_row("SELECT * FROM lat_lng_post WHERE post_id = \'" . $post_id . "\'");  
    if ($check_link != null)   
    {  
        // We already have a lat lng for this post. Update row  
        $wpdb->update(   
        \'lat_lng_post\',   
        array(   
            "lat" => $_POST[\'lat_field_name\'],  
            "lng" => $_POST[\'lng_field_name\']  
        ),   
        array( "post_id" => $post_id ),   
        array(   
            "%f",  
            "%f"  
        )  
        );  
    }  
    else  
    {  
        // We do not already have a lat lng for this post. Insert row  
        $wpdb->insert(   
        "lat_lng_post",   
        array(   
            "post_id" => $post_id,  
            "lat" => $_POST[\'lat_field_name\'],  
            "lng" => $_POST[\'lng_field_name\']  
        ),   
        array(   
            "%d",   
            "%f",  
            "%f"  
        )   
        );  
    }  

}  
add_action( \'save_post\', \'save_lat_lng\' );
我一直在研究负荷可能是什么问题,但没有运气,我真的被卡住了。附件是PHPMyAdmin的图片,您可以看到数据库screenshot of phpMyAdmin

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

首先,这条线

    if ( \'location\' != $_POST[\'festival-event\'] )  
应该是

    if ( \'festival-event\' != $_POST[\'post_type\'] )

结束