WP – php kode i widget
Hvis du, ligesom jeg, har et behov for at afvikle php-kode i en widget på din wordpress-side, har du sikkert oplevet at den spytter ca. 1 multion fejl ud hvis du bare sætter kode ind i et tekst felt.
Der findes en ordentlig bunke plugins til at ordne problemet, men søger du en nem (og lille) løsning får du den lige her.
Indsæt denne lille kode-snip i din functions.php i dit valgte tema (/udseende/editor):
/* php in widget */ add_filter('widget_text','execute_php',100); function execute_php($html){ if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html); $html=ob_get_contents(); ob_end_clean(); } return $html; }
Og vupti! Der kan nu afvikles php-kode i et tekstfelt i dine widgets
Og hvad i alverden kan man så bruge det til tænker du… Det er næsten kun dine evner i php-kodens smukke (og sexede) verden, der sætter grænser.
Et lille eksempel får du lige med på vejen. Denne lille snip viser præcist klokkeslæt for hvornår en bestemt fil på din side senest er opdateret. Den snuser simpelthen dato og klokkeslæt for hvornår filen senest blev ændret på din server, og spytter det ud i menneskesprog.
<?php echo date("d/m-y H:i", filectime("sti/til/din/fil.pdf")); ?>
Kan være nyttigt hvis du f.eks. har en pdf-fil til download liggende, du ofte opdaterer, og det er vigtigt at dine brugere/kunder kan se præcis hvornår den sidst er opdateret.
Og denne lille pusling spytter dato og ugenummer ud:
<?php print date("d/m-y"); echo date(' (W) '); ?>
Og nu vi er ved php… Snyd ikke dig selv for denne skønne artikel om hvordan php burde være skrevet i korrekt engelsk, og ikke dette US-En snask. Det er nørdehumor på højt plan!