Ondersteuning » Code oplossingen gezocht » Geplande, terugkerende aangepaste homepage

  • Hoi allemaal,

    Is het met een plugin, een trucje of een simpele aanpassing mogelijk om verschillende homepages te rouleren?

    Betere uitleg:
    Ik ben bezig om een WordPress-installatie beter geschikt te maken voor de website van mijn programma op het lokale radiostation. Dit programma wordt iedere zaterdagochtend uitgezonden, en is via een live videostream op de website te volgen.

    Gedurende iedere uitzending wil ik dat de homepage verandert van een standaard homepage naar zoiets. De layout kan ik allemaal bouwen, maar het gaat me erom dat ik niet echt kan uitvogelen hoe ik gemakkelijk roulerende versies van een homepage in kan plannen.

    Ik ben me ervan bewust dat er de functie is om pagina’s en posts in te plannen om op een bepaalde datum gepubliceerd te worden, maar dan loop ik tegen een aantal dingen aan:
    – Ik moet dan voor iedere uitzending van twee pagina’s de datum veranderen
    – Ik weet niet of WordPress meerdere versies van een homepage wel respecteert; je moet immers aangeven welke pagina je als homepage wilt gebruiken

    Een andere mogelijkheid zou zijn om de homepage gedurende de uitzending om te leiden naar een andere pagina, wat ik eigenlijk nog liever heb.
    Echter, ik heb geen plugin gevonden waarin je kunt aangeven dat een omleiding moet terugkeren. Verder wil ik uiteraard niet dat Google de speciale homepage gaat zien als de normale homepage, omdat de meeste plugins een omleiding aangeven als Permanent Redirect.

    Suggesties zijn dus meer dan welkom!

    Alvast bedankt voor jullie creatieve ideeΓ«n πŸ™‚

12 reacties aan het bekijken - 1 tot 12 (van in totaal 12)
  • 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.

    Thread starter Daan Berg

    (@daanbrg)

    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.

    Thread starter Daan Berg

    (@daanbrg)

    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&#8217; );
    }
    }
    ?>

    Jij ook een fijn weekend!

    Thread starter Daan Berg

    (@daanbrg)

    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 πŸ™‚

    Thread starter Daan Berg

    (@daanbrg)

    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 πŸ™‚

    Thread starter Daan Berg

    (@daanbrg)

    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 πŸ™‚

12 reacties aan het bekijken - 1 tot 12 (van in totaal 12)
  • Het onderwerp ‘Geplande, terugkerende aangepaste homepage’ is gesloten voor nieuwe reacties.