Kategoriat
Koodivinkit

Ohjaa sivun vierailijat aloitussivulle

Miten käyttäjät saa ohjattua mainossivulle tai vastaavalle aloitusivulle, jos WordPress-sivujen tekeminen on vielä kesken? Tähän löytyy varmasti moniakin lisäosia, mutta yksi helpoimmista tavoista on lisätä lyhyt koodinpätkä functions.php tiedostoon.

 
/* Ohjaa käyttäjät, jotka eivät ole kirjautuneet, mainossivulle tai vastaavalle */ 
add_action( 'template_redirect', 'foxnet_go_to_landing_page', 1 ); 

function foxnet_go_to_landing_page() { 
	if( !is_user_logged_in() ) { 
		wp_redirect( 'https://foxnet.fi' ); 
		exit; 
	} 
}

template_redirect-koukku aktivoituu ennen headereita ja ei-kirjautuneet käyttäjät saadaan ohjattua haluttuun osoitteeseen. Numero 1 tarkoittaa, että tämä template_redirect-koukku aktivoidaan joka tapauksessa ensimmäisenä, vaikka functions.php tiedostossa olisi muitakin vastaavia koukkuja.

Tässä tapauksessa ohjaus tehdään WP:n valmiilla funktiolla wp_redirect ja testiesimerkissä ohjaus tehdään osoitteeseen https://foxnet.fi. Käytännössä tämä voisi olla staattinen index.html-sivu osoitteessa foxnet.fi/landing-page. Kun sivut on saatu valmiiksi, kyseinen funktio poistetaan functions.php-tiedostosta ja sivuilla kävijät pääsevät normaaliin selaamaan sivuja.