WordPress shortcode: inloggningsformulär till Basecamp
Jag har under snart två månaders tid administrerat mina projekt i Basecamp. För att logga in på Basecamp har man en egen inloggningssida, men att kräva av sina kunder att de kommer ihåg adressen är onödigt enligt mig. Jag vill gärna erbjuda mina kunder en möjlighet att logga in direkt från mitt företags hemsida. Att skapa ett sådant formulär är inte svårt, men jag tänkte i alla fall att det kunde vara smidigt med ett plugin eller en shortcode till WordPress för att generera inloggningsformuläret. Valet föll på att skapa formuläret med hjälp av shortcode, mestadels för att jag varken hade tid eller ork att sätta mig in i hur man utvecklar plugins för WordPress. För att komma till sak…
- Om den inte redan finns, skapa en fil som heter functions.php direkt i din designmall. Du kan även ladda ner den i ett zip-arkiv här: basecamp_login.zip.
- Öppna filen och lägg till följande kod:
function basecamp_login_func($atts) { extract(shortcode_atts(array( 'account' => '', 'domain' => 'clientsection.com', 'https' => 1, 'username_label' => "Username", 'password_label' => "Password", 'submit_value' => "Log in", ), $atts)); if ($https == 1): $action = 'https://'; else: $action = 'http://'; endif; $action = $action . $account . '.' . $domain . '/login/authenticate'; $output = '<form id="bascamp-login-form" action="'.$action.'" method="post"> <p> <label for="username">'.$username_label.'</label> <input name="user_name" type="text" id="username" class="field" /> </p> <p> <label for="password">'.$password_label.'</label> <input name="password" type="password" id="password" class="field" /> </p> <p> <input type="submit" value="'.$submit_value.'" class="button" /> </p> </form>'; return $output; } add_shortcode('basecamp_login', 'basecamp_login_func');Om du skapade filen i första steget, glöm inte att påbörja och avsluta innehållet i filen med
<?phprespektive?>. - Nu kan du använda dig av funktionen i dina templates! Exempel på hur funktionen används:
<?php echo do_shortcode('[basecamp_login account="kontonamn" domain="seework.com" https=1 username_label="Användarnamn" password_label="Lösenord" submit_value="Logga in"]'); ?>
De olika alternativen för textsträngen man skickar med i funktionen do_shortcode() är följande:
- account
Namnet för kontot på Basecamp. Detta värde måste sättas till ett befintligt kontonamn för att formuläret ska fungera.[basecamp_login account="kontonamn"] - domain
Domänen för kontot på Basecamp. Detta värde måste sättas till den domän kontot ligger kopplat till. Sätts som standard tillclientsection.com.[basecamp_login account="kontonamn" domain="seework.com"] - https
Är https aktiverat eller inte:1eller0? Standard är0.[basecamp_login account="kontonamn" domain="seework.com" https=0] - username_label
Den text som används till label-elementet för användarnamnet. StandardUsername.[basecamp_login account="kontonamn" domain="seework.com" username="Användarnamn"] - password_label
Den text som används till label-elementet för lösenordet. StandardPassword.[basecamp_login account="kontonamn" domain="seework.com" password="Lösenord"] - submit_value
Den text som står på knappen till formuläret. StandardtextLog in.[basecamp_login account="kontonamn" domain="seework.com" password="Lösenord" submit_value="Logga in"]
Man kan vidareutveckla och förbättra både kod och funktioner, men just nu fyller det den funktion som jag eftersökte och därför får det räcka för stunden. Ungefär såhär kommer jag placera formuläret på den nya sidan när den är klar.
Ta även en titt på min shortcode för copyrighttexter.
2 Responses / WordPress shortcode: inloggningsformulär till Basecamp
Smidigt!
Svara@Johan: Ja, det underlättar om inte annat för mina kunder…
Svara