Wpis z mikrobloga

#php #wordpress #naukaprogramowania

Hej, robię skrypt który ma robić ciastko i dodawać id strony do tablicy, jeśli jest to dodawać kolejne id. Chodzi o to, żeby w formularzu przesyłać w hidden field tę tablicę żeby wiedzieć gdzie był użytkownik przed jego wysłaniem.

Pytanie czy robię dobrze? Formularz jest z wtyczki contact form 7, nie za bardzo wiem jak dane z tej tablicy przenieść do tego formularza.

https://pastebin.com/xz2vNvTn
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dzeksondzekson: A Twoi użytkownicy są zalogowani? Bo inaczej korzystanie z wpgetcurrent_user() jest bez sensu. To raz. Dwa, że do ciastka wsadzasz cały obiekt? Jak byś chciał wsadzić do ciastka np. identyfikator to zamiast $cookie powinnobyć $cookie->ID, ale jak użytkownik będzie niezalogowany to i tak będzie to 0. W dodatku nigdzie nie dodajesz ID stron do ciastka... Trochę pomieszałeś :)

Nie wiem do czego Ci to potrzebne, ale prawdopodobnie
  • Odpowiedz
@zwierzak40: Dla zalogowanych użytkowników oczywiście, to jak tworzyć ciastko które będzie trzymać id podstron w tablicy?

Przecież daje do tablicy get_the_id to chyba zbiera te id ciastko cały czas czy nie?

Chodzi o zrobienie plugina żeby mi przesyłał te site id, nie chcę bawić się w google analytics.
  • Odpowiedz
@dzeksondzekson: Poza tym przy każdym uruchomieniu strony będzie od początku deklarowana pusta tablica $site_id = [];

Żeby dopisywać elementy tablicy (zamiast tworzyć pustą) - najpierw musisz wczytać stare strony z istniejącego ciasteczka, a dopiero potem dopisywać nowe.
  • Odpowiedz
@zwierzak40: bo wykop odbiera _ jako tekst pochylony, musisz to dać w kod wtedy nie usuwa. Czyli co tę tablicę muszę wrzucić w ciastko, czyli to będzie coś takiego?

if(isset($_COOKIE['user'])) {
setcookie('user', array_push($site_id, $id));
}
  • Odpowiedz
@dzeksondzekson: Pomyśl o tym w ten sposób:
Za każdym uruchomieniem strony ten kod idzie od nowa tj. stan zmiennych jest resetowany.
W tym przypadku arraypush($siteid, $id) dodajesz $id do pustej tablicy.

Jak sam nie wpadniesz co trzeba zrobić, to patrz spoiler

  • Odpowiedz