SVG קובץ תמונה Scalable Vector Graphics, הוא פורמט תמונה מבוסס וקטורים המאפשר הצגת גרפיקה באיכות גבוהה בכל גודל. בשונה מקבצים רסטריים כמו PNG או JPG, קובץ SVG אינו בנוי מפיקסלים אלא מקוד XML שמתאר את הצורות, הקווים, הצבעים והאנימציות.
איכות אינסופית – אפשר להגדיל את התמונה כמה שרוצים, והיא לא תאבד מהחדות.
משקל קל – ברוב המקרים, קובץ SVG קטן יותר מקבצי PNG או JPG מקבילים.
עריכה פשוטה – ניתן לערוך את הקובץ בקלות בעורך טקסט או באמצעות תוכנות כמו Adobe Illustrator או Inkscape.
תמיכה באנימציה – SVG תומך באנימציות CSS ו־JavaScript.
גישה ישירה לקוד – אפשר לשלב SVG ישירות בתוך קוד ה־HTML.
נגישות גבוהה יותר – ניתן להוסיף תגיות alt ו־title ישירות בתוך הקובץ לצורכי SEO ונגישות.
קובץ SVG מבוסס על XML. הנה דוגמה בסיסית:
<svg width="100" height="100"> <circle cx="50" cy="50" r="40" fill="red" /> </svg>
הדוגמה הזו תייצר עיגול אדום בקוטר 80 פיקסלים באמצע הקובץ.
למרות היתרונות הרבים, קובץ SVG לא מתאים לכל מצב. לדוגמה:
תמונות מורכבות מאוד כמו תמונות טבע או פורטרטים – עדיף להשתמש ב־JPG.
תמונות עם שקיפות ורקע עשיר – לעיתים PNG יתאים יותר.
בברירת מחדל, וורדפרס לא מאפשרת להעלות SVG בגלל שיקולי אבטחה. כדי לאפשר זאת:
הוסיפו את הקוד הבא לקובץ functions.php של התבנית:
לחלופין, השתמשו בתוסף כמו:
במקום להעלות SVG כקובץ, אפשר להטמיע אותו ישירות בתוך HTML:
קיימות מספר שיטות נפוצות ופשוטות ליצירת קובץ SVG, החל מתוכנות ייעודיות ועד כלים אונליין:
התוכנות הפופולריות ביותר ליצירת קבצי SVG הן Adobe Illustrator (בתשלום) ו־Inkscape (חינמית).
Adobe Illustrator:
פתחו מסמך חדש וציירו את הגרפיקה הרצויה.
לאחר שהעיצוב מוכן, בחרו:
File → Save As
בחרו בפורמט SVG מתוך רשימת הפורמטים.
הגדירו הגדרות ייצוא (לרוב ההגדרות הבסיסיות מתאימות) ולחצו Save.
Inkscape:
צרו את הגרפיקה הרצויה בתוך התוכנה.
לשמירה, לחצו על:
File → Save As
בחרו בפורמט SVG או Optimized SVG לשמירה מיטבית.
אשרו והקובץ יישמר במחשבכם.
אם יש לכם קובץ בפורמט JPG, PNG או כל פורמט רסטרי אחר, תוכלו להמיר אותו ל־SVG באמצעות כלים אונליין:
השימוש פשוט: מעלים את הקובץ הרסטרי, בוחרים הגדרות המרה (צבעים, פשטות), ומורידים את הקובץ הסופי בפורמט SVG.
מכיוון שקבצי SVG הם קבצי XML, אפשר ליצור אותם גם באמצעות עורך טקסט פשוט. דוגמה בסיסית ליצירת SVG ידנית:
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="10" width="180" height="180" fill="green"/> <circle cx="100" cy="100" r="80" fill="yellow"/> </svg>
<img>
בקוד של SVG ישיר באתר שלכם?לעיתים תרצו להחליף את תג התמונה הרגיל (<img>
) בקוד SVG ישיר כדי לאפשר שליטה רחבה יותר בעיצוב ובאנימציות באמצעות CSS ו-JavaScript. להלן הסבר צעד־אחר־צעד כיצד לעשות זאת בצורה נכונה:
פתחו את קובץ ה־SVG בעורך טקסט פשוט (למשל Visual Studio Code או Notepad++). אתם תראו קוד XML שמתחיל ב:
העתיקו את כל התוכן של קובץ ה־SVG, כולל תגיות הפתיחה והסגירה של <svg>
.
נניח שיש לכם כרגע תג תמונה כזה:
החליפו אותו ישירות בקוד ה־SVG שהעתקתם קודם, לדוגמה:
מומלץ מאוד להוסיף לתגית ה־SVG מאפייני נגישות:
השתמשו ב־aria-label
ו־<title>
לטובת נגישות וקידום אורגני.
תנו לתגית <svg>
קלאס CSS מותאם אישית לצורכי עיצוב.
כעת אפשר לשלוט בקובץ SVG בצורה מתקדמת באמצעות CSS, למשל:
כך, הטמעה ישירה של קובץ SVG במקום <img>
מאפשרת לכם גמישות ושליטה רבה יותר באפקטים ויזואליים מתקדמים.
טיפים חשובים:
ודאו כי הקובץ מותאם היטב (אופטימיזציה) ואינו מכיל קוד מיותר.
ודאו התאמה מלאה לכל הדפדפנים.
השתמשו ב־CSS או JavaScript להוספת אינטראקטיביות או אנימציות ייחודיות.
החלפת תג <img>
בקוד SVG ישיר היא שיטה מצוינת לשפר את ביצועי האתר וליצור חוויית משתמש עשירה ומתקדמת יותר.
<img>
של SVG להטמעת קוד ישירהכנס את הפונקציה הבאה לקובץ ה-functions.php
של התבנית שלך:
function inline_svg($url) { if (!$url) return ''; $svg_path = str_replace(home_url('/'), ABSPATH, $url); if (file_exists($svg_path)) { return file_get_contents($svg_path); } return ''; }
מה הפונקציה עושה?
מקבלת נתיב של SVG מה-URL.
בודקת אם הקובץ קיים במערכת הקבצים.
אם כן, קוראת את תוכן הקובץ ומחזירה את הקוד שלו כטקסט.
נניח שאתה משתמש בשדה מסוג Image ב-ACF בשם:my_svg_image
אתה יכול להשתמש בפונקציה כך בקוד של התבנית:
<?php $image = get_field('my_svg_image'); if ($image && pathinfo($image['url'], PATHINFO_EXTENSION) === 'svg') { echo inline_svg($image['url']); } else if ($image) { echo '<img src="' . esc_url($image['url']) . '" alt="' . esc_attr($image['alt']) . '">'; } ?>
מה קורה כאן?
אנו בודקים אם השדה ACF מכיל ערך (תמונה).
לאחר מכן, אנו בודקים אם התמונה בפורמט SVG.
אם כן, אנו משתמשים בפונקציה inline_svg
כדי להטמיע את התוכן שלה ישירות.
אם זו לא תמונת SVG, אנו מציגים אותה כתגית <img>
רגילה.
נניח שיש לך שדה מסוג Repeater בשם:icons_repeater
ובתוכו שדה מסוג תמונה בשם:icon_image
הדוגמה הבאה מראה הטמעת SVG עם repeater:
<?php if (have_rows('icons_repeater')): ?> <ul> <?php while (have_rows('icons_repeater')): the_row(); ?> <li> <?php $icon = get_sub_field('icon_image'); if ($icon && pathinfo($icon['url'], PATHINFO_EXTENSION) === 'svg') { echo inline_svg($icon['url']); } else if ($icon) { echo '<img src="' . esc_url($icon['url']) . '" alt="' . esc_attr($icon['alt']) . '">'; } ?> </li> <?php endwhile; ?> </ul> <?php endif; ?>
ניהול התוכן נשאר פשוט ונגיש דרך ממשק ACF.
הטמעת SVG ישירה משפרת את זמני טעינת האתר.
מאפשר שליטה ועיצוב מתקדם בעזרת CSS ו־JavaScript.
ודא כי קובצי ה-SVG נקיים ובטוחים לפני העלאתם לאתר.
יש להקפיד על אבטחה:
אל תאפשר העלאת SVG למשתמשים לא מורשים.
כך תוכל לשלב SVG בצורה מתקדמת, פשוטה ונקייה באתר וורדפרס באמצעות PHP ו-ACF.
קובץ SVG הוא פתרון גרפי עוצמתי שמתאים לאתרים מודרניים. השימוש הנכון בו תורם לביצועים, לנראות ול־SEO של האתר. בין אם אתם מפתחים, מעצבים או בעלי אתרים – כדאי להכיר את הפורמט הזה ולשלב אותו באופן חכם.