Vinnaren i pepparkakshustävlingen!
2017-05-28, 02:41
  #1
Medlem
Hej! Jag kan inte PHP och det är väl mest därför jag använder Wordpress, för det mesta kan jag göra nästan allt jag önskar utan att kunna koda. Ibland är det dock frustrerande då jag känner mig ganska låst ibland på grund av okunskap.

Skulle någon vänlig själ kunna tala om för mig hur jag gör för att kunna bädda in wordpress-användarens ID i en url? Jag kommer att länka till olika sidor och vill att URL:en ska ändras automatiskt beroende på ID för den inloggade användaren.

Exempel:

Användaren Stina med user ID 31 är inloggad.

Stina besöker undersidan "Länkar" på min hemsida. När hon klickar på länken så ser den ut så här: http://www.network.com?&userid=32 men om jag klickar på den så ser den ut så här http://www.network.com?&userid=1 eftersom att jag har ID 1.

Tacksam för svar!
Citera
2017-05-28, 02:47
  #2
Medlem
För att hämta värdet som anges i URL:en så som du skrivit den så får du fram detta genom:

$_GET['userid]

Alltså kan du t.ex. skapa en variabel enligt följande sätt: $variabel = $_GET['userid];

Skall sägas att det är ett mycket osäkert sätt om du inte kompletterar det med någon form av verifiering. Vem som helst kan då alltså bara ändra till userid=50 t.ex. för att få fram sidan som om man är användare nr. 50.
Citera
2017-05-28, 03:09
  #3
Medlem
Citat:
Ursprungligen postat av DJ-Emerald
För att hämta värdet som anges i URL:en så som du skrivit den så får du fram detta genom:

$_GET['userid]

Alltså kan du t.ex. skapa en variabel enligt följande sätt: $variabel = $_GET['userid];

Skall sägas att det är ett mycket osäkert sätt om du inte kompletterar det med någon form av verifiering. Vem som helst kan då alltså bara ändra till userid=50 t.ex. för att få fram sidan som om man är användare nr. 50.

Tack för svaret! Jo absolut, men den enda som förlorar på att ändra ID i url:en är användaren själv då den inte kommer få någon belöning då Om det var det du menade?

Ursäkta mig men jag förstår inte riktigt hur jag ska implementera detta på enklaste sätt i Wordpress, kan som sagt mer eller mindre 0 PHP men är i stort behov av att kunna få med användarens ID vid utlänkning, detta då affiliatenätverken spårar vilken användare som utförde en handling då.
Citera
2017-05-28, 03:16
  #4
Medlem
Citat:
Ursprungligen postat av Confuze
Tack för svaret! Jo absolut, men den enda som förlorar på att ändra ID i url:en är användaren själv då den inte kommer få någon belöning då Om det var det du menade?

Ursäkta mig men jag förstår inte riktigt hur jag ska implementera detta på enklaste sätt i Wordpress, kan som sagt mer eller mindre 0 PHP men är i stort behov av att kunna få med användarens ID vid utlänkning, detta då affiliatenätverken spårar vilken användare som utförde en handling då.

Säg att du har denna rad i koden:
Kod:
$variabel $_GET['userid]; 

Då kan du göra om länken till:
Kod:
echo "<a href='http://www.network.com?userid=$variabel'>"

Resultatet blir då t.ex. http://www.network.com?userid=10 om du har userid=10 i URL:en
Citera
2017-05-28, 03:26
  #5
Medlem
Citat:
Ursprungligen postat av DJ-Emerald
Säg att du har denna rad i koden:
Kod:
$variabel $_GET['userid]; 

Då kan du göra om länken till:
Kod:
echo "<a href='http://www.network.com?userid=$variabel'>"

Resultatet blir då t.ex. http://www.network.com?userid=10 om du har userid=10 i URL:en

Jaha okej! Nu börjar jag förstå. Som det verkar om man läser https://stackoverflow.com/questions/...ross-templates så kan man lägga in det i filen functions.php.

Det verkar också som att funktionen man ska använda heter:
get_current_user_id() som står på denna länk.
__________________
Senast redigerad av Confuze 2017-05-28 kl. 03:29.
Citera
2017-05-29, 20:17
  #6
Medlem
studioxswes avatar
Vad är det du vill göra mer exakt?

Att lägga in userID i en URL är dåligt, ingen ska behöva se ditt ID, det är ju bara du som är intresserad av det.

Wordpress kan ge dig det inloggade ID't åt dig, utan att du behöver ha unika URLer. Det du vill åstadkommer antar jag även kräver mer programmering då du på den sidan förmodligen vill göra en massa saker?
Citera
2017-06-01, 10:40
  #7
Medlem
Prova att lägga till detta i functions.php.
Är användaren inloggad kommer funktionen lägga till "?ref=<userid>" i urlen.
Inte optimalt då den redirectar användaren, bästa skulle ju vara att lösa detta med javascript; front-end.
Använd på egen risk
Kod:
function add_referral_parameter()
{
    
$name "ref";
    
$ref intval(!empty($_GET[$name]) ? $_GET[$name] : 0);
    if (
$userid get_current_user_id() && !$ref && !is_admin()) {
        
$parts parse_url($_SERVER['REQUEST_URI']);
        
parse_str($parts['query'], $parameters);
        
$parameters[$name] = $userid;
        
$newurl $parts['path'] . "?" http_build_query($parameters);
        
wp_redirect$newurl );
        exit;
    }
}
add_action('init''add_referral_parameter'); 
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback