Verwenden von AJAX in WordPress-Thema

alle

In meinem Thema gibt es oben eine Benachrichtigung. Nach der Benutzeranmeldung kann er das Benachrichtigungsupdate sehen. Wenn ich auf die Benachrichtigung klicke, möchte ich den Wert für die databasealarm-Feldgröße von 0 auf 1 ändern.

Mein Ajax-Anruf im Thema

$("#notifications-button").click(function() { $.ajax({ type : 'POST', url: "http://localhost/rupp/wp-admin/admin-ajax.php", data:{action:'MyAjaxFunction'}, success : function(data){ $('.message-count').hide(); }, }); }); 

und in der Datei function.php

 add_action('wp_ajax_MyAjaxFunction','MyAjaxFunction'); function MyAjaxFunction() { global $wpdb; echo (int)$user_ID; $wpdb->update( $wpdb->wp_frm_items, array( 'alerts' => 1) ); } 

Es werden jedoch keine Änderungen in den Warnfeldern in db vorgenommen. Ist das der richtige Weg, die Themenfunktion mit Ajax aufzurufen?

Solutions Collecting From Web of "Verwenden von AJAX in WordPress-Thema"

Sie müssen Ihrer update-statement den Parameter $where hinzufügen, da er nicht weiß, welche Zeile aktualisiert werden soll. Die Methode $wpdb->update() hat keinen Standardwert für das Argument $where , daher müssen Sie einen $wpdb->update() .

http://codex.wordpress.org/Class_Reference/wpdb#UPDATE_rows

Versuche dies:

 $wpdb->update( $wpdb->wp_frm_items, array( 'alerts' => 1), array( 'user' => get_current_user_id() ) );