Andreas Karlsson

/

Om webbutveckling

Magento / WordPress / CodeIgniter / jQuery / Prototype /

Jag heter Andreas Karlsson och jobbar som webbutvecklare på Improove där mitt främsta fokus är backendutveckling för e-handelsplattformen Magento. Du når mig enklast genom andreas.karlsson@indiebytes.se eller 073-512 78 09.

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…

  1. 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.
  2. Ö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 <?php respektive ?>.

  3. 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:

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

Johan 24 augusti 2008 at 23:00

Smidigt!

Svara
Andreas 8 september 2008 at 11:56

@Johan: Ja, det underlättar om inte annat för mina kunder…

Svara

Leave a reply / WordPress shortcode: inloggningsformulär till Basecamp

*

*