הטמעה בקלות מאתרים שאינם תומכים ב-oEmbed

יש כמה דרכים בהן ניתן לאפשר למשתמש להטמיע תוכן מאתרים אחרים בפוסטים והעמודים באתר וורדפרס:

  • הדבקת קוד ה-Embed (פלאש, ג'אווהסקריפט)
  • ליצור Shortcode שיאפשר הטמעה פשוטה יחסית ממקור קבוע
  • להשתמש ב oEmbed

היתרון ב-oEmbed הוא שלא צריך להסתבך עם קוד HTML מורכב בעורך הויזואלי, והוא חוסך את הצורך לזכור תחביר של שורטקוד כזה או אחר: כל מה שצריך לעשות הוא להכניס את הקישור לסרטון בשורה נפרדת בפוסט או בעמוד.

הנה סרטון של חתול דרמטי

http://www.youtube.com/watch?v=opGVNLImgw4

זה היה סרטון של חתול דרמטי

כדי שהסרטון יוטמע באופן אוטומטי צריך לאפשר זאת בלוח הבקרה (הגדרות->מדיה)

האם זה עובד עם כל האתרים?

לא, רק עם האתרים שהוגדרו מראש. רשימה ניתן למצוא בעמוד הקודקס הרלוונטי.

אז איך מוסיפים אתרים נוספים לרשימה?

אם האתר שאנחנו רוצים לאפשר תומך בoEmbed, מוסיפים אותו באמצעות
wp_oembed_add_provider()

במידה והאתר לא תומך ב oEmbed, משתמשים ב wp_embed_register_hander()

הנה דוגמה לקוד שמאפשרת הטמעה ישירה של סרטונים מפליקס

wp_embed_register_handler( 'flix', '#http://www\.flix\.co\.il/tapuz/showVideo\.asp\?m=(.*)#i', 'wp_embed_handler_flix' );

function wp_embed_handler_flix( $matches ) {
	
	$videoid = (int) $matches[1];
	
	$embed =	'<a href="http://www.flix.co.il/embed/tapuz/xml/embed.aspqm=&#039;.$videoid.&#039;amenu=1aautoplay=0acolor=blackasize=large">http://www.flix.co.il/embed/tapuz/xml/embed.aspqm=&#039;.$videoid.&#039;amenu=1aautoplay=0acolor=blackasize=large</a>';

	return apply_filters( 'embed_flix', $embed, $matches);
}

3 מחשבות על “הטמעה בקלות מאתרים שאינם תומכים ב-oEmbed

  1. גם אני עברתי בדיוק את אותו התהליך של הוספת אתר חדש לwp_embed לפני כשבוע.
    אתה סיכמת את זה בצורה יפה מאוד.

  2. אני חושב שהפתרון האופטימלי צריך להיות שיאפשרו ל־oEmbed לעבוד במצב AutoDiscovery כך שאתרים יוכלו להסביר למערכת כיצד להתמודד עם הצגת התוכן. זה כמובן מסכן במידת מה את המשתמשים, אבל אפשר לפתור זאת באמצעות סינון של קוד מסוכן (למשל לא לאפשר הפעלה של תסריטים מרוחקים אלא רק HTML ודברים "בטוחים" כמו iframe) או הצגת הודעה שתדרוש התערבות ידנית של עורך התוכן לגבי כל אתר חדש או לא מוכר.

    1. אני חושב שיש סיכון בכל קוד מרוחק, וטוב שיש רשימה מאושרת מראש. בפוסט הזה התייחסתי בעיקר לאתרים שלא תומכים בoEmbed בכלל. אבל לאתרים שכן תומכים ולא ברשימה – ההוספה שלהם פשוטה יחסית.

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s