Помощ » Въпроси и отговори » Как да взема ID-то на потребителя от DB чрез $_COOKIE?

  • Здравейте,

    Имаме е-магазин, базиран на WordPress с инсталирано разширение WooCommerce. Опитвам се да интегрирам custom система за проследяване на трафика в реално време. Статистическият модул се намира на същия сървър, но е изготвен така, че да работи максимално автономно – проследяващият скрипт се извиква чрез изображение, вградено в изходния код.

    Дотук добре – мога да виждам, какви страници зарежда посетителя по време на посещението и колко време стои на всяка от тях. Тъй като WordPress и статистическият модул са на един сървър, мога да получа и пълен достъп до хедърите от заявките на браузъра, вкл. Cookie-тата, генерирани динамично от WordPress по време на посещението (чрез пресявка на масива $_COOKIE[]). Теоретично имам и пълен достъп до таблиците в базата данни, но това не ми помага особено, доколкото не успявам да направя връзката между хешираните стойности в Cookie-тата и записите в базата данни.

    Ядрото на WordPress е от типа „спагети код“ и след близо 4 часа проследяване, тръгвайки от log-in формуляра и сблъсквайки се с безкраен низ от константи и обекти с глобално действие, трябва да призная, че стигнах до под кривата круша.

    Някой има ли идея как, разполагайки само с хешираните стойности от $_COOKIE[] – масива, генериран по време на посещението, бих могъл да стигна до id-то на потребителя от потребителската таблица в базата данни?

    По какъв начин се следи и съхранява информацията за потребителските действия, напр. добавяне на продукт в кошницата и как отново използвайки данните от $_COOKIE[] за добавени продукти да стигна до съответстващите записи в базата данни?

Виждате 1 отговор (от 1 общо)
  • Здравейте!
    До колкото виждам, _COOKIE съдържа стринг с ID на потребителя: https://imgur.com/a/2Z5cLWD
    Значи може да вземете тази част от променливата и да използвате функцията : get_user_by() от кодекса: developer.wordpress.org/reference/functions/get_user_by/

    Алтернативно, може просто да използвате стандартен метод за взимане на информацията на текущият потребител с функцията get_currentuserinfo() : codex.wordpress.org/Function_Reference/get_currentuserinfo

Виждате 1 отговор (от 1 общо)
  • Темата ‘Как да взема ID-то на потребителя от DB чрез $_COOKIE?’ е затворена за нови отговори.