Hoe AMP met WordPress te gebruiken
AMP is een gemeenschappelijke inspanning die een belofte inhoudt betere paginalaadprestaties voor websites in de mobiele omgeving. Maar, zoals je kunt vinden in onze vorige tutorial, zul je leuke dingen van je website moeten opofferen en je strikt houden aan de regels, de richtlijnen naleven en pagina's laten valideren. Het klinkt als veel om te doen, nietwaar?
Gelukkig, als je je website hebt gebouwd met WordPress, kun je AMP op je website toepassen in een handomdraai met behulp van een plug-in met de naam AMP-WP. Het wordt geleverd met meer functies dan wat opvalt. Laten we kijken hoe het werkt.
activering
Om te beginnen, log in op uw website, ga naar Plug-ins> Voeg nieuw toe scherm. Zoeken “AMP; installeer en activeer die van Automattic.
Eenmaal geactiveerd, kunt u de AMP-geconverteerde post bekijken door de / Amp /
sleep aan het einde van de post-URL (bijv. http://wp.com/post/amp/
), of met ?amp = 1
(bijv. http://wp.com/post/?amp=1
) als u de Pretty Permalinks-functie op uw website niet gebruikt.
En zoals je hierboven kunt zien, heeft de post basisstyling gekregen, die je verder kunt aanpassen.
Noteren
Er zijn een paar dingen die u moet weten over de status van de plug-in op dit moment:
- archief - Categorie, Label en Aangepaste taxonomie - worden momenteel niet ondersteund. Ze zullen niet worden omgezet in AMP-compliant formaat. Aangepaste berichttypen kunnen echter via een filter in AMP worden geïnitieerd.
- Het voegt niets toe in een nieuw instellingsscherm in het Dashboard. Maatwerk wordt gedaan op het codeniveau met acties, filters, klasse.
- De plug-in omvat momenteel niet alle aangepaste AMP-elementen zoals
amp-analytics
enamp-ad
uit de doos. Als je dit element nodig hebt, moet je het opnemen door in de Acties of Filters van de plug-in te haken.
Maatwerk
De plug-in biedt talloze acties en filters die flexibiliteit bieden bij het aanpassen van de stijlen, de pagina-inhoud en zelfs de HTML-markup van de AMP-pagina als geheel.
stijlen
Ik weet zeker dat dit een ding is dat je meteen wilt wijzigen na het activeren van de plug-in, zoals het wijzigen van de achtergrondkleur van de koptekst, de lettertypefamilie en de tekengrootte om beter bij het merk en de persoonlijkheid van je website te passen.
Om dit te doen, kunnen we de amp_post_template_css
Actie in de functions.php
bestand van ons thema.
function theme_amp_custom_styles () ?> nav.amp-wp-title-bar background-color: orange;Als we de Chrome DevTools bekijken, worden deze stijlen toegevoegd aan de
element en overschrijft de voorgaande stijlregels. Vandaar dat de oranje achtergrondkleur nu op de kop wordt toegepast.
U kunt doorgaan met het schrijven van de stijlregels zoals u normaal doet. Houd echter een paar beperkingen in de gaten en houd de onderstaande stijlgroottes aan
50Kb
. Raadpleeg ons vorige artikel over het valideren van uw AMP-pagina's als u ooit twijfelt.templating
Als het lijkt alsof je veel meer moet veranderen dan alleen de stijl, kun je met een glimlach kijken of je de hele sjabloon kunt aanpassen. De plug-in, amp-wp, biedt een aantal ingebouwde functies templates, namelijk:
header-bar.php
meta-author.php
meta-taxonomy.php
meta-time.php
single.php
style.php
Deze sjablonen lijken veel op de normale WordPress-sjabloonhiërarchie.
Elk van deze sjablonen kan worden overgenomen door een bestand met dezelfde naam onder de / Amp /
map in het thema. Zodra deze bestanden aanwezig zijn, haalt de plug-in ze op in plaats van de standaardbestanden en kunnen we de uitvoer van deze sjablonen volledig wijzigen.
twentytwelve ├── 404.php ├── amp │ ├── meta-auteur.php │ ├── meta-taxonomy.php │ ├── single.php │ └── style.php
Je kunt de hele stijl herschrijven via de style.php
bestand, of wijzig de volledige AMP-paginastructuur naar uw behoefte met de single.php
. Toch moet u de wijziging behouden om te voldoen aan de AMP-voorschriften.
Lijst met haken en filters
Zoals eerder vermeld, wordt deze plug-in geleverd met een aantal acties en filters. Het is niet mogelijk om elk onderwerp in dit artikel te bespreken. Maar we kunnen gaan met een cheatsheet, de samenvatting en de fragmenten die u nodig hebt:
acties
De amp_init
; actie is handig voor plug-ins die afhankelijk zijn van AMP omdat hun plug-in werkt; het wordt uitgevoerd als de plug-in al is gestart.
function amp_customizer_support_init () require_once dirname (__FILE__). '/Amp-customizer-class.php'; add_action ('amp_init', 'amp_customizer_support_init');
Gelijkwaardig aan wp_head
actie die we kunnen gebruiken amp_post_template_head
om extra elementen op te nemen in de hoofd
tag in AMP-pagina's zoals meta
, stijl
, of script
.
function theme_amp_google_fonts () ?>
amp_post_template_footer
deze actie is vergelijkbaar met dewp_footer
.function theme_amp_end_credit () ?>filters
amp_content_max_width
wordt gebruikt om de maximale breedte van de AMP-pagina in te stellen. De breedte wordt ook gebruikt om de breedte van ingesloten elementen in te stellen, zoals een YouTube-video.function theme_amp_content_width () return 700; add_filter ('amp_content_max_width', 'theme_amp_content_width');
amp_site_icon_url
wordt gebruikt om het pictogram - favicon en Apple-pictogram - URL in te stellen. De standaardwaarde is de afbeelding die is geüpload via de interface Site Icon, die is geïntroduceerd in versie 4.3.function theme_amp_site_icon_url () return get_template_directory_uri (). '/Images/site-icon.png'; add_filter ('amp_site_icon_url', 'theme_amp_site_icon_url');
amp_post_template_meta_parts
is voor wanneer u de metagegevensuitvoer van de post moet aanpassen, zoals de naam van de auteur, de categorie en de tijdstempel. Via dit filter kunt u de standaardvolgorde in willekeurige volgorde afspelen of een van de meta uit de AMP-pagina verwijderen.function theme_amp_meta ($ meta) foreach (array_keys ($ meta, 'meta-time', true) als $ key) unset ($ meta [$ key]); return $ meta; ; add_filter ('amp_post_template_meta_parts', 'theme_amp_meta');
amp_post_template_metadata
is voor het aanpassen van de Schema.org-gegevensstructuur op AMP-pagina's. In het volgende voorbeeld wordt getoond hoe we het sitelogo aanbieden dat in de AMP-carrousel in het Google-zoekresultaat wordt weergegeven en het aangepaste tijdstempel voor de pagina verwijderen.function amp_schema_json ($ metadata) unset ($ metadata ['dateModified']); $ metadata ['publisher'] ['logo'] = array ('@type' => 'ImageObject', 'url' => get_template_directory_uri (). '/images/logo.png', 'height' => 60, 'width' => 325,); return $ metadata; add_filter ('amp_post_template_metadata', 'amp_schema_json', 30, 2);
amp_post_template_file
dit is een alternatieve manier om sjabloonbestanden te negeren. Het is handig als u uw aangepaste AMP-sjabloonbestanden liever host in een andere map dan/ Amp /
.function theme_custom_template ($ file, $ type, $ post) if ('meta-auteur' === $ type) $ file = get_template_directory_uri (). '/Partial/amp-meta-author.php'; return $ bestand; add_filter ('amp_post_template_file', 'theme_custom_template', 10, 3);
amp_query_var
wordt gebruikt om het AMP-pagina-eindpunt te wijzigen wanneer de URL Permalink is ingeschakeld. Standaard is dit ingesteld op/ Amp /
. Gezien het volgende is de AMP-pagina nu toegankelijk door toe te voegen/ M /
op de URL (bijv.www.example.com/post-slug/m/
).function custom_amp_endpoint ($ amp) return 'm'; add_filter ('amp_query_var', 'custom_amp_endpoint');