In deze zelfstudie bespreken we wat postformaten zijn, hoe ze kunnen worden gebruikt en wat ze voor u kunnen doen.
Post-indelingen zijn geïntroduceerd in WordPress 3.1 om een standaardisatie te creëren voor het maken en weergeven van verschillende soorten berichten. Met deze indelingen kan een ontwikkelaar beslissen hoe verschillende soorten berichten op de juiste manier worden weergegeven. Nieuwe indelingen kunnen niet worden geïntroduceerd, noch moet elk formaat door een thema worden ondersteund. Het gebruik van postformaten maakt postcompatibiliteit over meerdere thema's mogelijk en heeft nog veel meer voordelen.
Post-formaten zijn echt gemakkelijk te begrijpen als je er eenmaal in duikt. Laten we dat van dichterbij bekijken.
We zullen postformaten implementeren in het Twenty-Ten-thema dat al postformaten ondersteunt. We zullen kijken naar wat ze hebben gedaan en onze eigen wijzigingen implementeren om hun effect te zien. Twenty-Ten is een van de standaardthema's die bij WordPress wordt geleverd en kan worden gedownload van de website van WordPress. Ja, het bestaande 'standaardthema' is 'Twenty Eleven', maar Twenty-Ten is iets meer van toepassing op wat we vandaag gaan doen.
Open functions.php in de / Wordpressdirectory / wp-content / themes / 20-10 / map. Opmerking op regel 81 zien we het volgende:
add_theme_support ('post-formats', array ('aside', 'gallery'));
Standaard heeft het twintigentwintig-thema ondersteuning voor de postformaten Aside en Gallery. Zoals vermeld in het overzicht, kun je geen enkel postformaat definiëren, afgezien van wat WordPress toestaat. Laten we kijken naar wat we kunnen toevoegen. Deze worden rechtstreeks overgenomen uit WordPress 'Codex op berichtformaten:
In het belang van de zelfstudie voegen we ondersteuning toe voor een video en een link. Dus laten we regel 81 in die code bijwerken om die indelingen weer te geven. We voegen ze gewoon toe aan de array.
add_theme_support ('post-formats', array ('aan de kant', 'galerij', 'link', 'video'));
Zodra we toevoegen dat we een bericht kunnen toevoegen, zien we in de rechterkolom keuzerondjes die 'Link' en 'Video' weerspiegelen.
Laten we een nieuw bericht maken dat we gebruiken voor links. Onze titel is de titel van de link terwijl het lichaam de link zelf is.
Open loop.php in dezelfde directory functions.php was in. Tot ongeveer regel 126 definieert de code het formaat voor de galerij en de terzijde; na regel 126 definieert hij hoe alle andere berichten eruit zouden moeten zien. Dus als u nu uw website opent, wordt uw link net als alle andere berichten opgemaakt met een berichttitel die deze naar een permalink brengt en een instantie die onze link bevat. We gaan de volgende code toevoegen op regel 126 om dat te wijzigen:
ID))):?>>"title =""rel =" bladwijzer ">
In principe voegen we een andere if-verklaring toe voordat deze de "Everything Else" -instructie bereikt. We zeggen dat als het een link is, het zo moet worden weergegeven. En de manier waarop we willen dat het wordt weergegeven, is door van de inhoud het linkgedeelte te maken, met behoud van de titel en door de inhoud eronder te verwijderen. Merk op dat ik hier de inhoud heb gebruikt in plaats van alleen de_inhoud. the_content zal alineatags automatisch toevoegen, get_the_content geeft me ongeformatteerde tekst. Dus het is gemakkelijk om mee te werken.
Nu, als we naar onze website kijken - de koppeling gedraagt zich zoals verwacht! Heel cool!
Laten we een nieuw bericht maken met een YouTube-video. We kunnen een titel invullen als we willen - het is niet nodig voor dit bericht. Ik zal in dit geval. Mijn YouTube-video is van een vriend van mij die "Almost Lover" van Fine Frenzy speelt. Dus mijn bericht zal er als volgt uitzien:
We voegen dit toe aan het einde van de code die we in stap 2 hebben geproduceerd. We gaan dus terug naar loop.php en voegen de volgende code toe:
ID))):?>> 0):?>
We maken een nieuwe if-verklaring voor de video's en zeggen vervolgens dat als deze een titel heeft, deze wordt weergegeven. Dan zijn er enkele handige codefragmenten die u wellicht in uw eigen bibliotheek wilt bewaren. Ik heb de inhoud geparseerd om de YouTube-ID te vinden en de insluitcode te maken. Merk op hoe je de YouTube-link http://www.youtube.com/watch?v=Wu9lWnNsFu4 in plaats van de insluitcode hebt kunnen plaatsen. Dit voegt gemak toe aan eindgebruikers, zodat alle videospelers er hetzelfde uitzien. en ze hoeven insluitcodes niet te ontcijferen. In principe kan ik de ID van de video met de code vinden en daarna de insluitcode ervan bouwen met de variabele $ embedURL.
Als je nu naar je website gaat, zie je de YouTube-video ingesloten. Zo'n gemakkelijke truc!
Nadat u aangepaste berichttypen hebt geïmplementeerd, zult u waarschijnlijk willen linken naar het archief van een bepaald berichttype. Laten we bijvoorbeeld een link toevoegen naar onze zijbalk die ons naar onze video-pagina leidt.
Open sidebar.php en voeg op lijn 11 toe:
Kijk in je zijbalk, je ziet nu een link die naar Video gaat. get_post_format_link () functie zal een link bouwen naar het archief van postformaten die worden ondersteund door het thema en worden gespecificeerd binnen de functie. Vervang video met link, opzij of galerij en het maakt een link naar het respectieve archief.
We hebben de functie get_post_format ($ post_id) in onze voorbeelden gebruikt om te bepalen hoe het bericht moet worden weergegeven. Iets anders, vergelijkbaar met dit, zou zijn als je de generieke manier zou willen hebben om alle berichten weer te geven, maar bepaalde elementen zou toevoegen als het een bepaald postformaat zou zijn. Dus als ik een disclaimer zou willen toevoegen aan al mijn links, zou ik een generieke lus kunnen maken dat zou al mijn berichten laten zien, ongeacht welk post-formaat ze zijn, gebruik dan de has_post_format () functie om het te bepalen binnen mijn lus:
Ik heb geen idee wat er op de site staat tegen de tijd dat je er bent. Het is niet mijn website en ik bezit geen van de inhoud. Ga op eigen risico!
Post-formaten zijn echt gemakkelijk te gebruiken en te begrijpen. Uit ons harde werk hierboven kunt u zien hoe snel het kan zijn om het in uw eigen thema op te zetten en het te laten draaien. Het is zo'n geweldige normering voor meerdere thema's om gebruikers te bevrijden van het kwaadaardige begrip van gepatenteerd thema.