0

私はWooCommerceを使用しており、場所(lat、long)を収集するためのフィールド「location_gps」を追加し、データを収集するためのajax呼び出しを追加しました。現在、現在のユーザー(user_meta)にデータを取得するのに行き詰まっています。

funtions.phpにこれを追加しました

// AJAX - implementation  

function add_myscript(){
    wp_enqueue_script( 'my-ajax.js', get_bloginfo('template_directory') . "/scripts/my-ajax.js", array( 'jquery' ) );
}
add_action( 'init', 'add_myscript' );



function myAjax(){

global $wpdb;

//get data from our ajax() call
$long = $_POST['long'];
$lat = $_POST['lat'];


$results = "<p>".$lat.", ".$long."</p>";  // this is how it supposed to land in the DB



if($wpdb->insert('location_gps',array(
'long'=>$long,
'lat'=>$lat,
))===FALSE){

echo "Error";

}
else {
echo "Successfully added, row ID is ".$wpdb->insert_id;

}
die();
}

// create custom Ajax call for WordPress
add_action( 'wp_ajax_nopriv_myAjax', 'myAjax' );
add_action( 'wp_ajax_myAjax', 'myAjax' );

ここにJSの部分があります。

jQuery(document).ready(function() {


    jQuery("#save_loc_button").click(function(){
        var long = jQuery("input#long").val();
        var lat = jQuery("input#lat").val();


        jQuery.ajax({
            type: 'POST',
            url: '/wp-admin/admin-ajax.php',
            data: { "action": "myAjax", "lat": lat, "long": long },
            beforeSend: function(){
             jQuery("#test-div").html('processing...');
        },
            success: function(event, request, settings){
                jQuery("#test-div").html('');
                jQuery("#test-div").append(event);

            },
            error: function(MLHttpRequest, textStatus, errorThrown){
                alert(errorThrown);
            }
        });
    });

});
4

0 に答える 0