Jeg lagt en kommentar om Datoer på blog-indlæg - hvis du har dem? Sidste uge over på Problogger.Net om, hvor let det ville være at implementere kode til et tema, som ville gøre det muligt for en bruger til at vise eller skjule indhold på grundlag af den dato eller alder af et indlæg. Jeg har siden fået et par e-mails om dette i særdeleshed og skulle til at dele dette med nogle af disse tricks jeg havde nævnt, da jeg gjorde det nye design af denne web-site i sidste uge.
Straight fra Problogger.net, her var den oprindelige undersøgelse:
Datoerne for Recent Posts men ikke på de ældre - Jeg så en blogger gøre det sidste år (jeg er bange for, at jeg ikke kan huske, hvem det var). De havde hacket WordPress, så datoer syntes om den seneste stillinger (inden for de sidste 3 måneder), men noget ældre end, der ikke har tid stempler enten på posten eller kommentarer. Dette betød, at den bloggeren nydt godt af nye stillinger søger nye og fandt den potentielle distraktion af gamle stillinger væk fra læserne. Jeg ved ikke præcis, hvordan bloggeren gjorde det, men formoder de opretter en regel, at kigget på datoen for ophavsret og derefter afgøres, om den dato vil blive vist eller ej.
Kort sagt, at gøre dette, vil du kunne ændre dit tema (/ wp-content/themes/YOURTHEME / index.php og / eller single.php) snarere end af centrale wordpress kode. Også Jeg bruger wordpress 2.6, men dette bør arbejde på noget wordpress 2.0 eller senere for sikker. Noget lavere kunne det arbejde, men du måske nødt til at omdefinere $ fremdatere med uanset hvilken the_date () funktion var dengang. (Det kan meget vel være den samme). Andre derefter, at den gode gamle PHP, der håndterer det.
-
<?php -
//File: /wp-content/themes/YOURTHEME/ index.php and/or single.php -
//FIND: -
if ( have_posts ( ) ) : while ( have_posts ( ) ) : the_post ( ) ; -
//ADD UNDER: -
$twomonthsago = date ( "Ymd" , mktime ( 0 , 0 , 0 , date ( "m" ) -2 , date ( "d" ) , date ( "Y" ) ) ) ; -
$twentydaysago = date ( "Ymd" , mktime ( 0 , 0 , 0 , date ( "m" ) , date ( "d" ) -20 , date ( "Y" ) ) ) ; -
$currentdate = date ( "Ymd" , mktime ( 0 , 0 , 0 , date ( "m" ) , date ( "d" ) , date ( "Y" ) ) ) ; -
$postdate = the_date ( ‘Ymd’ , ” , ” , false ) ; -
?> -
//ADD WHERE APPROPRIATE -
<?php -
if ( $postdate > $twentydaysago ) { -
echo $postdate ; -
?> -
//Insert HTML code here for data you want to show if the post is newer (within 20 days old of posting) -
<?php } ?> -
//notice the greater than/less than sign flipped -
<?php -
if ( $postdate < $twentydaysago ) { -
echo $postdate ; -
?> -
//Insert HTML code here for data you want to show older than 20 days ago. -
<?php } else { ?> -
//Insert HTML code here for data that is newer than 20 days. -
<?php } ?> - Hent denne kode: 0804limitbydate.txt
Denne kode skal placeres inden for løkke. Dermed mener jeg, det skal være inden for, at hvis (have_posts ()) ... bit som vist i koden. Herfra kan vi opsigtsvækkende datoen bruger the_date (). Du behøver ikke at bruge en separat variabel for dette, men jeg finder det lettere, fordi jeg reference, at variable mere end én gang i koden.
Nogle bruger til at vise og skjule indhold
Blandt de anvendelser, at brugerne har for denne form for gennemførelse:
- AdSense eller andre Annoncer - Vise eller skjule annoncer på sider kun efter en vis dato. Læsere, der holder op med din blog og kigge på alle dine nye stillinger med det samme vil værdsætte dette. De er også dine mest loyale læsere
- Sociale medier tags - jeg gør det lige nu på dette websted. Hvis stillingen er ældre end 20 dage, jeg har det indstillet til at vise social bookmarking links nederst på posten. Hvis sine nyere, baren vises øverst.
- Konkurrencer - Hvis du har forskelligt indhold, du vil have vist før eller efter en konkurrence, kan du bruge denne metode til at automatisere indhold skifte for dig. F.eks. Før projektkonkurrencen du kunne wrap i din kode. Efter projektkonkurrencen Dato (er) udgangen du kunne wrap i en "Beklager, denne konkurrence er forbi" tekst.
Ressourcer
Template Tags / datoen - Wordpress Codex - Dette er for at ændre og forstå the_date () parametre i wordpress funktion.
http://us3.php.net/manual/en/function.mktime.php - Dette er den funktion, vi bruger i dag () funktionen til at "skabe" en gang. Bemærk, denne gang er baseret på din server tid. Hvilket betyder, hvis din server tid er en time bag dig, kan du justere for, at ved at gøre sådan noget (stadig under forudsætning af de to måned-strengen). Dato ( "ymd", mktime (date ( "H") 1,0, 0, dato ( "m") -2, dato ( "D"), dato ( "Y ")));.
http://us3.php.net/manual/en/function.date.php - Dato funktion opkald / formatering i PHP. Hvis du ønsker at ændre formatet af den dato, ville dette være et godt sted at gå. Blot erstatte den konfiguration af ymd Jeg har i der nu til et hvilket som helst format du ønsker baseret på diagrammet vist der.
Håber, at det hjælper! Spørgsmål om dette, post nedenfor. Nye anmodninger eller spørgsmål om den måde, jeg skabte dette tema skal du post til Rob Malon nydesignede post.





































Rob, stor post. Tak for de nærmere info. Du kan aldrig få for mange WordPress tema keyword i dit arsenal.
Store oplysninger