Je zou in je header.php een scriptje neer kunnen zetten die kijkt naar de dag van de week en de tijd. Zoiets:
<?php
//Uitgaande dat je uitzending tussen 7 en 9 is en je dit alleen op je homepage wilt
if( is_front_page() ) {
if( date( 'w' ) == 6 && ( date( 'H' ) >= 7 && date( 'H' ) <= 9 ) ) {
//wp_redirect geeft standaard een 302 (Temporary redirect) zie http://codex.wordpress.org/Function_Reference/wp_redirect
wp_redirect( 'http://www.jouwwebsite.nl/andere-homepage' );
}
}
?>
Ik heb het niet getest, maar dit zou het moeten zijn.
Mooi stukje code.. Zou een geweldige snippet kunnen worden.
Thanks.
Beste Danny,
Bedankt! Ik ga ‘m vanavond testen, en dan zullen we zien of ’t morgen werkt.
Kijk morgen dan tussen 9 en 12 op deze website; dat is de site waarop ik het ga toepassen. Deze pagina moet daar dan te zien zijn.
Groeten,
Daan
De code moet trouwens wel op regel 1 van je header! Anders heb je al uitvoer en krijg je een headers allready send foutmelding.
Beste Danny,
De code werkt niet zoals ik ‘m heb ingevoerd. De normale WordPress-website bleef zoals hij was, zonder redirect.
Ik heb de code die je hebt aangegeven gekopieerd en geplakt, helemaal bovenaan header.php van het thema wat ik gebruik. Ik heb hem als volgt aangepast om hem op zaterdagochtend van 9 tot 12 te laten werken:
<?php
//Uitgaande dat je uitzending tussen 9 en 12 is en je dit alleen op je homepage wilt
if( is_front_page() ) {
if( date( 'w' ) == 6 && ( date( 'H' ) >= 9 && date( 'H' ) <= 12 ) ) {
//wp_redirect geeft standaard een 302 (Temporary redirect) zie http://codex.wordpress.org/Function_Reference/wp_redirect
wp_redirect( 'http://social.radio.daanberg.net' );
}
}
?>
Ik geloof dat deze code wel klopt.
Ik heb hem letterlijk bovenaan header.php geplaatst. Klopt dit, of moet ‘ie ergens anders heen? Je zegt namelijk
op regel 1 van je header
Ik gebruik het standaard Twenty Eleven-thema van de nieuwste versie van WordPress. Daarvan begint header.php normaal gesproken met het volgende:
<?php
/**
* The Header for our theme.
*
* Displays all of the <head> section and everything up till <div id="main">
*
* @package WordPress
* @subpackage Twenty_Eleven
* @since Twenty Eleven 1.0
*/
?><!DOCTYPE html>
…en dan komt de daadwerkelijke inhoud van de header.
Bedoel je dus met regel 1 de eerste regel van header.php, of na <!DOCTYPE html> (of nog ergens anders)?
Thanks. (En een fijn weekend trouwens.)
– Daan
Het zou gewoon moeten werken. Ik heb m net ook even lokaal getest. Als je
`<?php
date_default_timezone_set( get_option( ’timezone_string’ ) );
echo date( ‘H’ );
?>
doet, krijg je dan gewoon netjes 19 terug? Dan moet het natuurlijk wel tussen 19:00 en 19:59 zijn π Mocht dat niet zo zijn, dan moet je even in je wp-admin de tijdzone goed zetten. Zit onder instellingen->algemeen.
Ik heb een aanpassing gedaan zodat de tijdzone uit de WordPress instellingen gehaald wordt.
<?php
date_default_timezone_set( get_option( ’timezone_string’ ) );
if( is_front_page() ) {
if( date( ‘w’ ) == 6 && ( date( ‘H’ ) >= 19 && date( ‘H’ ) <= 20 ) ) {
//wp_redirect geeft standaard een 302 (Temporary redirect) zie http://codex.wordpress.org/Function_Reference/wp_redirect
wp_redirect( ‘http://social.radio.daanberg.net’ );
}
}
?>
Jij ook een fijn weekend!
Nee, lukt ook niet. Met de aangepaste code word ik nog steeds niet omgeleid op de tijden die ik dan aangeef (dag 7, uur 13 tot 20).
Ik heb alle mogelijke plekken voor deze code geprobeerd, maar niets werkte.
Misschien proberen we gewoon iets wat niet mogelijk is?
Je geeft aan ‘m lokaal getest te hebben. Welke versie van WordPress was dat, en met welk thema? Misschien wil Twenty Eleven gewoon niet meewerken.
Als we ’t niet voor elkaar krijgen, ga ik gewoon een normale redirect-plugin inzetten om iedere zaterdagochtend voor de uitzending de homepage om te leiden, en na de uitzending weer terug te zetten naar de normale homepage. Misschien is het niet anders…
Kijk alsjeblieft even naar http://nl.php.net/manual/en/function.date.php en dan wat de kleine w terug geeft.
0 = zondag
1 = maandag
2 = dinsdag
enz.
Doe maar eens een <?php echo date( ‘w’ ); ?> Komt er nu 0 uit π Ik gebruik versie 3.3.1 met twenty eleven lokaal. Althans, even een test omgeving opgezet…
Doe eens
<?php
if ( date( 'w' ) == 6 && ( date( 'G' ) >= 19 && date( 'G' ) <= 23 ) ) {
die;
}
?>
Als je dan helemaal niets te zien krijgt, is het goed.
Was overigens ook een foutje van mij. date( ‘H’ ); geeft de tijd met een 0 ervoor bijv. 09. date( ‘G’ ); geeft gewoon 9 terug π
Hoi Danny,
Heb het net getest, en de redirect werkt nu met de nieuwe code!
Moet ik date H nog aanpassen door date G of is het ook goed als ik als het van 9 tot 12 moet zijn gewoon bij de eerste 09 heb en bij de tweede 12?
Groeten,
Daan
Als je bij de ‘H’ gewoon 09 geeft is het goed. Check ook die link die ik gaf, vragen is makkelijk, maar het kan even duren voordat je antwoord krijgt. Als je de weg op de PHP/WordPress site een beetje weet, kan je het meeste zelf uitzoeken wat 100x leerzamer is π
Super! Dank je wel. Je krijgt wel een eervolle vermelding op de site, laat ik dat er even bij zeggen π
Ik heb op de link gekeken, en het is inderdaad logisch… als ik eerst kijk naar wat jij vertelt, en daarna die pagina bekijk. Ik ben nog niet zo into PHP. Ben ik ook niet van plan; radio maken en PHP liggen kilometers van elkaar, haha.
Maar nogmaals hartstikke bedankt voor je hulp. Ik denk dat dit topic voor vele anderen nog heel handig kan zijn.
Groeten,
Daan
Graag gedaan hoor! Daar is het een forum voor π