pengguna akhir mahu CMS yang mudah untuk menerbitkan kandungan dengan. Saya percaya bahawa kebanyakan pengguna tidak mahu kod keras kandungan mereka. Jika pelanggan bertanya kepada saya: "Saya ingin menambah beberapa kandungan dari SlideShare", fikiran saya pergi untuk berehat API atau sekurang -kurangnya kod benih. Hari ini kita akan melihat ciri WordPress yang mungkin anda gunakan tanpa mengetahui.
Takeaways Key
Pelaksanaan Oembed menentukan 4 jenis sumber:
mari kita lihat SlideShare dan lihat bagaimana mereka telah melaksanakan Oembed.
Dalam dokumentasi mereka, mereka menentukan titik akhir Oembed dan titik akhir sumber. Titik akhir oembed adalah: http://www.slideshare.net/api/oembed/2. Titik akhir sumber kelihatan seperti ini: http://www.slideshare.net/user-slug/slidename-slug. Untuk mendapatkan maklumat dari pembekal, kita harus menggunakan titik akhir Oembed dan lulus parameter URL sumber. Parameter harus dikodkan URL. Keperluan minimum adalah parameter URL, tetapi anda juga boleh lulus MaxWidth , MaxHeight dan format . Ia benar -benar bergantung pada format kandungan, tetapi untuk video, foto dan format yang kaya, anda mempunyai pilihan untuk lulus hujah -hujah ini. Juga, Oembed hanya menentukan kaedah GET, jadi anda tidak boleh menggunakan kaedah lain.
mari kita buat permintaan ke titik akhir ini menggunakan parameter URL.
Buat permintaan untuk: http://www.slideshare.net/api/oembed/2?url=http://www.slideshare.net/chris-burgess/wordpress-themeswpmelb2014 dan anda akan mendapat sambutan berikut:<span><span><span><oembed</span>></span> </span> <span><span><span><total-slides</span> type<span>="integer"</span>></span>50<span><span></total-slides</span>></span> </span> <span><span><span><thumbnail-width</span> type<span>="integer"</span>></span>170<span><span></thumbnail-width</span>></span> </span> <span><span><span><width</span> type<span>="integer"</span>></span>425<span><span></width</span>></span> </span> <span><span><span><type</span>></span>rich<span><span></type</span>></span> </span> <span><span><span><provider-name</span>></span>SlideShare<span><span></provider-name</span>></span> </span> <span><span><span><slideshow-id</span> type<span>="integer"</span>></span>41489102<span><span></slideshow-id</span>></span> </span> <span><span><span><provider-url</span>></span>http://www.slideshare.net<span><span></provider-url</span>></span> </span> <span><span><span><slide-image-baseurl</span>></span>//image.slidesharecdn.com/wordpress-themes-wpmelb-2014-141112215416-conversion-gate02/95/slide-<span><span></slide-image-baseurl</span>></span> </span> <span><span><span><version</span>></span>1.0<span><span></version</span>></span> </span> <span><span><span><conversion-version</span> type<span>="integer"</span>></span>2<span><span></conversion-version</span>></span> </span> <span><span><span><html</span>></span><span><span><iframe</span> src<span>="http://www.slideshare.net/slideshow/embed_code/41489102"</span> width<span>="427"</span> height<span>="356"</span> frameborder<span>="0"</span> marginwidth<span>="0"</span> marginheight<span>="0"</span> scrolling<span>="no"</span> <span>style<span>="<span>border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;</span>"</span></span> allowfullscreen></span> <span><span></iframe</span>></span> <span><span><div</span> <span>style<span>="<span>margin-bottom:5px</span>"</span></span>></span> <span><span><strong</span>></span> <span><span><a</span> href<span>="https://www.slideshare.net/chris-burgess/wordpress-themeswpmelb2014"</span> title<span>="WordPress Themes Demystified"</span> target<span>="_blank"</span>></span>WordPress Themes Demystified<span><span></a</span>></span> <span><span></strong</span>></span> from <span><span><strong</span>></span><span><span><a</span> href<span>="http://www.slideshare.net/chris-burgess"</span> target<span>="_blank"</span>></span>Chris Burgess<span><span></a</span>></span><span><span></strong</span>></span> <span><span></div</span>></span> </span> <span><span><span></html</span>></span> </span> <span><span><span><author-name</span>></span>Chris Burgess<span><span></author-name</span>></span> </span> <span><span><span><title</span>></span>WordPress Themes Demystified<span><span></title</span>></span> </span> <span><span><span><height</span> type<span>="integer"</span>></span>355<span><span></height</span>></span> </span><span><span><span></oembed</span>></span></span>
Jika anda hanya meminta nilai URL dalam penyemak imbas, anda hanya akan mendapat halaman HTML biasa. Sesuatu yang anda lihat setiap hari. Slideshare Default ke format XML jika tiada format lain diminta. Mari kita ubah permintaan sedikit. Kali ini kami akan menambah parameter lain dan mendapatkan respons JSON.
<span>{ </span> <span>"author_url": "http://www.slideshare.net/chris-burgess", </span> <span>"total_slides": 50, </span> <span>"provider_name": "SlideShare", </span> <span>"version_no": "1415853027", </span> <span>"html": "<iframe src=\"http://www.slideshare.net/slideshow/embed_code/41489102\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> </iframe> <div style=\"margin-bottom:5px\"> <strong> <a href=\"https://www.slideshare.net/chris-burgess/wordpress-themeswpmelb2014\" title=\"WordPress Themes Demystified\" target=\"_blank\">WordPress Themes Demystified</a> </strong> from <strong><a href=\"http://www.slideshare.net/chris-burgess\" target=\"_blank\">Chris Burgess</a></strong> </div>\n\n", </span> <span>"thumbnail_height": 128, </span> <span>"type": "rich", </span> <span>"slide_image_baseurl": "//image.slidesharecdn.com/wordpress-themes-wpmelb-2014-141112215416-conversion-gate02/95/slide-", </span> <span>"slide_image_baseurl_suffix": "-1024.jpg", </span> <span>"slideshow_id": 41489102, </span> <span>"title": "WordPress Themes Demystified", </span> <span>"version": "1.0", </span> <span>"height": 355, </span> <span>"provider_url": "http://www.slideshare.net", </span> <span>"thumbnail": "//cdn.slidesharecdn.com/ss_thumbnails/wordpress-themes-wpmelb-2014-141112215416-conversion-gate02-thumbnail.jpg?cb=1415853027", </span> <span>"conversion_version": 2, </span> <span>"author_name": "Chris Burgess", </span> <span>"thumbnail_width": 170, </span> <span>"width": 425 </span> <span>}</span>
Cuba lagi untuk meminta sumber itu, tetapi kali ini tentukan parameter tambahan. Mari letakkan parameter maxwidth kepada 200 dan minta url ini: http://www.slideshare.net/api/oembed/2?url=http://www.slideshare.net/chris-burgess/wordpress-themeswpmelb2014 200, anda harus mendapatkan hasil ini:
<span>{ </span> <span>"conversion_version": 2, </span> <span>"version_no": "1415853027", </span> <span>"slide_image_baseurl_suffix": "-320.jpg", </span> <span>"html": "<iframe src=\"http://www.slideshare.net/slideshow/embed_code/41489102\" width=\"202\" height=\"168\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> </iframe> <div style=\"margin-bottom:5px\"> <strong> <a href=\"https://www.slideshare.net/chris-burgess/wordpress-themeswpmelb2014\" title=\"WordPress Themes Demystified\" target=\"_blank\">WordPress Themes Demystified</a> </strong> from <strong><a href=\"http://www.slideshare.net/chris-burgess\" target=\"_blank\">Chris Burgess</a></strong> </div>\n\n", </span> <span>"total_slides": 50, </span> <span>"width": 200, </span> <span>"slide_image_baseurl": "//image.slidesharecdn.com/wordpress-themes-wpmelb-2014-141112215416-conversion-gate02/85/slide-", </span> <span>"thumbnail_height": 128, </span> <span>"thumbnail_width": 170, </span> <span>"thumbnail": "//cdn.slidesharecdn.com/ss_thumbnails/wordpress-themes-wpmelb-2014-141112215416-conversion-gate02-thumbnail.jpg?cb=1415853027", </span> <span>"provider_name": "SlideShare", </span> <span>"author_url": "http://www.slideshare.net/chris-burgess", </span> <span>"author_name": "Chris Burgess", </span> <span>"version": "1.0", </span> <span>"slideshow_id": 41489102, </span> <span>"type": "rich", </span> <span>"height": 167, </span> <span>"title": "WordPress Themes Demystified", </span> <span>"provider_url": "http://www.slideshare.net" </span> <span>}</span>
Jika anda membandingkan lebar iframe pada kunci HTML permintaan ini dengan permintaan sebelumnya, anda harus melihat perbezaan. Yang pertama mempunyai lebar 427 dan yang terakhir mempunyai lebar 202.
Jika anda ingin mengetahui lebih lanjut mengenai spesifikasi Oembed, lihatlah dokumen Oembed rasmi. Juga perhatikan dokumentasi Oembed SlideShare dan bermain dengannya sedikit untuk lebih memahami bagaimana ia berfungsi.
mengapa ini berguna
Anda kemudian akan melihatnya dengan serta -merta menjadikan kandungannya:
URL hanya harus menjadi satu baris di atasnya sendiri. WordPress mencari pautan itu dan kemudian mencari untuk melihat sama ada pautan ini adalah sumber untuk salah satu URL Whitelisted. Sekiranya ia, maka ia membuat permintaan ke titik akhir Oembed. Dalam contoh ini, saya menyalin URL Status Twitter dan WordPress yang tertanam status untuk saya, di dalam jawatan. Tetapi ini tidak terhad hanya untuk Twitter, cari laman web lain di Whitelist dan bereksperimen dengan mereka.
Di luar senarai putih, setiap tapak Oembed disokong oleh WordPress. Anda boleh menambah pembekal tambahan secara manual. WordPress menyediakan dua fungsi, satu untuk mendaftarkan laman web yang menyokong Oembed dan satu yang kami boleh hardcode untuk menambah sokongan Oembed ke laman web kami. Gunakan wp_oembed_add_provider () untuk menambah tapak oembed sedia ada ke WordPress. Anda juga boleh menggunakan WP_EMBED_REGISTER_HANDLER () untuk menambah tapak yang tidak bertauliah. Atau, jika anda seperti saya yang membenci untuk mencipta semula roda, anda juga boleh menyemak sama ada plugin wujud terlebih dahulu.
Oembed adalah salah satu ciri WordPress yang berguna yang menjadikan hidup anda lebih mudah. Dalam artikel ini kita meliputi apa yang Oembed, kita melihat spesifikasi Oembed dan bagaimana Oembed dan WordPress bekerja bersama -sama. Tetapi jangan berhenti di sana. Eksperimen dengan Whitelist dan melanjutkannya dengan penyedia anda sendiri.
Mungkin ada beberapa sebab mengapa oembed anda tidak berfungsi. URL yang anda cuba embed mungkin tidak dari tapak yang menyokong Oembed, atau mungkin terdapat konflik dengan plugin atau tema. Sekiranya anda menghadapi masalah, cubalah melumpuhkan semua plugin dan beralih ke tema lalai untuk melihat apakah itu menyelesaikan masalah itu. Anda boleh menggunakan Oembed dengan jenis pos tersuai di WordPress. Anda hanya perlu memastikan bahawa jenis post tersuai menyokong ciri 'editor'.
Atas ialah kandungan terperinci Pengenalan kepada Oembed dan WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!