วิธีใช้ AMP กับ WordPress
AMP เป็นความพยายามของชุมชนที่สัญญาว่าจะ ประสิทธิภาพการโหลดหน้าเว็บที่ดีขึ้นสำหรับเว็บไซต์ในสภาพแวดล้อมมือถือ. แต่อย่างที่คุณสามารถพบได้จากบทช่วยสอนก่อนหน้าของเราคุณจะต้องเสียสละสิ่งแฟนซีจากเว็บไซต์ของคุณและปฏิบัติตามกฎอย่างเคร่งครัดปฏิบัติตามแนวทางและรับการตรวจสอบหน้า ดูเหมือนจะเป็นเรื่องที่ต้องทำ?
โชคดีถ้าคุณสร้างเว็บไซต์ด้วย WordPress คุณสามารถใช้ AMP กับเว็บไซต์ของคุณได้อย่างรวดเร็วโดยใช้ปลั๊กอินชื่อ AMP-WP มันมาพร้อมกับคุณสมบัติมากกว่าสิ่งที่ตรงกับตา ดังนั้นเรามาดูวิธีการทำงาน.
การกระตุ้น
เริ่มต้นด้วยเข้าสู่เว็บไซต์ของคุณไปที่ ปลั๊กอิน> เพิ่มใหม่ จอภาพ ค้นหา “amp; ติดตั้งและเปิดใช้งานจาก Automattic.
เมื่อเปิดใช้งานแล้วคุณสามารถดูโพสต์ที่แปลงโดย AMP โดยการเพิ่ม / แอมป์ /
เส้นทางที่ท้าย URL โพสต์ (เช่น. http://wp.com/post/amp/
) หรือด้วย ?แอมป์ = 1
(เช่น. http://wp.com/post/?amp=1
) หากคุณไม่ได้ใช้คุณสมบัติ Pretty Permalinks บนเว็บไซต์ของคุณ.
และอย่างที่คุณเห็นด้านบนโพสต์นั้นได้รับการจัดสไตล์พื้นฐานซึ่งคุณสามารถปรับแต่งเพิ่มเติมได้.
ที่จะต้องทราบ
มีบางสิ่งที่คุณควรรู้เกี่ยวกับสถานะของปลั๊กอินในขณะนี้:
- หอจดหมายเหตุ - ประเภท, แท็ก และ อนุกรมวิธานที่กำหนดเอง - ไม่รองรับในปัจจุบัน พวกเขาจะไม่ถูกแปลงเป็นรูปแบบที่สอดคล้องกับ AMP อย่างไรก็ตามประเภทโพสต์ที่กำหนดเองสามารถเริ่มต้นใน AMP ผ่านตัวกรอง.
- ไม่เพิ่มในหน้าจอการตั้งค่าใหม่ในแดชบอร์ด. การปรับแต่งเสร็จแล้วที่ระดับรหัส ด้วยการกระทำตัวกรองคลาส.
- ขณะนี้ปลั๊กอินไม่ได้รวมองค์ประกอบที่กำหนดเองของ AMP ทั้งหมดเช่น
แอมป์การวิเคราะห์
และแอมป์โฆษณา
ออกจากกล่อง. หากคุณต้องการองค์ประกอบเหล่านี้คุณจะต้องรวมมันเข้ากับการกระทำหรือตัวกรองของปลั๊กอิน.
การปรับแต่ง
ปลั๊กอินมีการดำเนินการและตัวกรองมากมายที่ให้ความยืดหยุ่นในการปรับแต่งสไตล์เนื้อหาของหน้าและแม้แต่มาร์กอัพ HTML ของหน้า AMP โดยรวม.
รูปแบบ
ฉันแน่ใจว่านี่เป็นสิ่งหนึ่งที่คุณต้องการเปลี่ยนทันทีหลังจากเปิดใช้งานปลั๊กอินเช่นการเปลี่ยนสีพื้นหลังส่วนหัวตระกูลตัวอักษรและขนาดตัวอักษรเพื่อให้ตรงกับแบรนด์และบุคลิกภาพเว็บไซต์ของคุณ.
ในการทำเช่นนั้นเราสามารถจ้าง amp_post_template_css
การดำเนินการใน functions.php
ไฟล์ของชุดรูปแบบของเรา.
ฟังก์ชั่น theme_amp_custom_styles () ?> nav.amp-wp-title-bar background-color: orange;หากเรามองผ่าน Chrome DevTools สไตล์เหล่านี้จะถูกผนวกเข้ากับ
องค์ประกอบและแทนที่กฎสไตล์ก่อนหน้า ดังนั้นสีพื้นหลังสีส้มจึงถูกนำไปใช้กับส่วนหัว.
คุณสามารถเขียนกฎสไตล์ได้ตามปกติ แต่โปรดคำนึงถึงข้อ จำกัด เล็กน้อยและรักษาขนาดของสไตล์ไว้ด้านล่าง
50 กิโลไบต์
. หากมีข้อสงสัยโปรดอ้างอิงถึงบทความก่อนหน้าของเราเกี่ยวกับวิธีการตรวจสอบหน้า AMP ของคุณ.templating
หากดูเหมือนว่าคุณจะต้องเปลี่ยนอะไรมากมายนอกเหนือจากสไตล์คุณจะต้องปรับแต่งเทมเพลตทั้งหมด ปลั๊กอิน, แอมป์ -wp, ให้จำนวนของในตัว แม่แบบ, กล่าวคือ:
ส่วนหัว bar.php
meta-author.php
meta-taxonomy.php
meta-time.php
single.php
style.php
แม่แบบเหล่านี้เหมือนกับลำดับชั้นของแม่แบบ WordPress ทั่วไป.
แต่ละเทมเพลตเหล่านี้สามารถเข้าครอบครองได้โดยการจัดทำไฟล์ชื่อเดียวกันภายใต้ / แอมป์ /
โฟลเดอร์ในชุดรูปแบบ เมื่อมีไฟล์เหล่านี้อยู่แล้วปลั๊กอินจะมาแทนที่ไฟล์เริ่มต้นและอนุญาตให้เราเปลี่ยนผลลัพธ์ของเทมเพลตเหล่านี้โดยสิ้นเชิง.
ยี่สิบสี่├── 404.php ├──แอมป์│├── meta-author.php │├── meta-taxonomy.php │├── single.php │└── style.php
คุณสามารถเขียนสไตล์ใหม่ทั้งหมดผ่านทาง style.php
ไฟล์หรือ ปรับเปลี่ยนโครงสร้างหน้า AMP ทั้งหมดตามที่คุณต้องการ กับ single.php
. ยังคุณจะต้องทำการเปลี่ยนแปลงเพื่อให้สอดคล้องกับข้อบังคับของ AMP.
รายการตะขอและตัวกรอง
ดังที่กล่าวไว้ก่อนหน้านี้ปลั๊กอินนี้มาพร้อมกับจำนวนของการกระทำและตัวกรอง ไม่สามารถครอบคลุมในบทความนี้ได้ แต่เราสามารถไปกับ cheatsheet สรุปและตัวอย่างที่คุณต้องการ:
การปฏิบัติ
amp_init
; การกระทำมีประโยชน์สำหรับปลั๊กอินที่ใช้ AMP เพื่อให้ปลั๊กอินทำงาน มันจะทำงานเมื่อปลั๊กอินเริ่มต้นแล้ว.
ฟังก์ชัน amp_customizer_support_init () require_once dirname (__FILE__) '/amp-customizer-class.php'; add_action ('amp_init', 'amp_customizer_support_init');
คล้ายกับ wp_head
การกระทำที่เราสามารถใช้ amp_post_template_head
เพื่อรวมองค์ประกอบเพิ่มเติมภายใน หัว
ติดแท็กในหน้า AMP เช่น เมตา
, สไตล์
, หรือ ต้นฉบับ
.
ฟังก์ชัน theme_amp_google_fonts () ?>
amp_post_template_footer
การกระทำนี้คล้ายกับwp_footer
.ฟังก์ชัน theme_amp_end_credit () ?>ฟิลเตอร์
amp_content_max_width
ใช้เพื่อตั้งค่าความกว้างสูงสุดของหน้า AMP ความกว้างจะถูกใช้เพื่อตั้งค่าความกว้างขององค์ประกอบแบบฝังเช่นวิดีโอ Youtube.ฟังก์ชั่น theme_amp_content_width () คืน 700; add_filter ('amp_content_max_width', 'theme_amp_content_width');
amp_site_icon_url
ใช้เพื่อตั้งค่าไอคอน - favicon และไอคอน Apple - URL ค่าเริ่มต้นจะตรงกับภาพที่อัปโหลดผ่านทางส่วนต่อประสานไอคอนของไซต์ซึ่งเปิดตัวในเวอร์ชัน 4.3.ฟังก์ชั่น 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
ใช้สำหรับเมื่อคุณต้องการปรับแต่งเอาต์พุตข้อมูลเมตาของโพสต์เช่นชื่อผู้แต่งหมวดหมู่และ การประทับเวลา. ผ่านตัวกรองนี้คุณสามารถสลับลำดับเริ่มต้นหรือลบเมตาหนึ่งในหน้าแอมป์.ฟังก์ชั่น theme_amp_meta ($ meta) foreach (array_keys ($ meta, 'meta-time', จริง) เป็น $ key) unset ($ meta [$ key]); ส่งคืน $ meta; ; add_filter ('amp_post_template_meta_parts', 'theme_amp_meta');
amp_post_template_metadata
ใช้สำหรับปรับแต่งโครงสร้างข้อมูล Schema.org ในหน้า AMP ตัวอย่างต่อไปนี้แสดงวิธีที่เราให้โลโก้ของไซต์ที่จะแสดงในภาพหมุน AMP ในผลการค้นหาของ Google และลบการประทับเวลาที่แก้ไขหน้า.ฟังก์ชัน amp_schema_json ($ metadata) unset ($ metadata ['dateModified']); $ metadata ['Publisher'] ['โลโก้'] = array ('@type' => 'ImageObject', 'url' => get_template_directory_uri (). '/images/logo.png', 'height' 'width' => 325,); ส่งคืนข้อมูลเมตา $; add_filter ('amp_post_template_metadata', 'amp_schema_json', 30, 2);
amp_post_template_file
นี่เป็นอีกทางเลือกหนึ่งในการแทนที่ไฟล์เทมเพลต จะมีประโยชน์หากคุณต้องการโฮสต์ไฟล์เทมเพลต AMP ที่กำหนดเองในไดเรกทอรีอื่นที่ไม่ใช่/ แอมป์ /
.ฟังก์ชั่น theme_custom_template ($ file, $ type, $ post) ถ้า ('meta-author' === $ type) $ file = get_template_directory_uri () '/partial/amp-meta-author.php'; ส่งคืนไฟล์ $; add_filter ('amp_post_template_file', 'theme_custom_template', 10, 3);
amp_query_var
ใช้เพื่อเปลี่ยนจุดสิ้นสุดของหน้า AMP เมื่อ URL Permalink เปิดใช้งาน โดยค่าเริ่มต้นมันถูกตั้งค่าเป็น/ แอมป์ /
. เมื่อกำหนดดังต่อไปนี้หน้า AMP สามารถเข้าถึงได้โดยการเพิ่ม/ m /
บน URL (เช่น.www.example.com/post-slug/m/
).ฟังก์ชั่น custom_amp_endpoint ($ amp) return 'm'; add_filter ('amp_query_var', 'custom_amp_endpoint');