update_user_meta zwraca error 500
-
Hejka.
Wordpress 4.9.8, to co chcę zrobić, to update informacji w profilu zalogowanego aktualnie użytkownika. O to, co aktualnie napisałem i jaki mam problem:
Jesteśmy poza wp-admin, aczkolwiek zalogowani na swoje konto w serwisie. Mam formularz w którym wpisujemy dane. Na submit leci ajaxowo przekazywanie danych z formularza i uruchomienie osobnego skryptu PHP:
$("#save-data").click(function(){ var user_id = $("#user_id").val(); var place = $("#place").val(); var city = $("#city").val(); var age = $("#age").val(); var sex = $("#sex").val(); var dataToSend = 'user_id='+user_id+'&place='+place+'&city='+city+'&age='+age+'&sex='+sex; $.ajax({ type: 'POST', url: '../public_html/wp-content/themes/singlepage/my-script.php', data: dataToSend, success: function(data) { $("#response").text(data); } }); });
Następnie w moim my-script.php odbieram sobie te dane i dla porządku przypisuję do zmiennych, i ich przekazywanie jest poprawne (wyrzuciłem sobie je na ekran i widzę, że wszystko jest OK). Chciałbym w tym miejscu, aby zaktualizować dane w profilu tegoż użytkownika. Mój kod wygląda tak:
<?php $user_id=$_POST['user_id']; $place=$_POST['place']; $city=$_POST['city']; $age=$_POST['age']; $sex=$_POST['sex']; update_user_meta( $user_id, 'place', $place ); update_user_meta( $user_id, 'city', $city ); update_user_meta( $user_id, 'age', $age ); update_user_meta( $user_id, 'sex', $sex ); /* dziala */ echo $user_id . $place . $city . $age . $sex; ?>
Niestety, leci mi pięćseta. Skoro przekazane dane są ok, w panelu te pola już wcześniej sobie dodałem i bez problemu można je uzupełniać i dane zapisują się do bazy, to jaki tutaj jest problem?
Z góry dzięki!
-
ślesz do samodzielnego pliku, który nie ma żadnego związku z WP – poza tym, ze znajduje się w katalogu motywu ….nie może więc korzystać z WordPressowych funkcji, w tym update_user_meta.
Zasadniczo cała implementacja kuleje. Lepiej było by użyć ajaxa z WP, czyli z wykorzystaniem admin-ajax.php
Zerknij np. https://premium.wpmudev.org/blog/using-ajax-with-wordpress/ itp.
- Temat ‘update_user_meta zwraca error 500’ jest zamknięty na nowe odpowiedzi.