כיצד לאפשר שורטקודים והרצה של PHP באיזור הווידג׳טים?

נראה כיצד לאפשר שורטקודים והרצה של קוד PHP באיזור הווידג׳טים.

מעוניינים לדעת כיצד לאפשר שימוש בשורטקודים באיזור הווידג׳טים של וורדפרס? שורטקודים מאפשרים לכם להוסיף פיטצ׳רים נוספים בעורך התוכן בוורדפרס ובאיזורים אחרים באתר שלכם. במאמר זה נסביר כיצד לאפשר שימוש בשורטקודים באיזור הווידג׳טים של וורדפרס ונראה גם כיצד לאפשר הרצה של PHP באיזור זה.

מה זה שורטקודים?

אז כפי שציינו – שורטקודים מאפשרים לכם להכניס אלמנטים דינאמים כגון טפסים (Contact Form 7 לדוגמה), טבלאות ואלמנטים נוספים באיזור עריכת התוכן של וורדפרס. שורטקודים נראים בצורה הבאה [shortcode] ואולי נתקלתם בכאלו אם אתם משתמשים בתבנית קנויה, בתוספים שונים וב Page Builders כאלו ואחרים.

תוכלו גם להשתמש באותם שורטקודים באיזור הווידג׳טים של וורדפרס הנמצאים בדרך כלל בסרגל הצידי של האתר. בואו נראה כיצד ניתן בקלות להוסיף ולהשתמש בשורטקודים באיזור הווידג׳טים בוורדפרס.

הוספת שורטקודים באמצעות ווידג׳ט ה HTML

במצבים מסויימים תהיו מעוניינים להוסיף HTML מסויים מסביב לשורטקודים. זה עלול לא לעבוד כראוי כאשר אתם משתמשים בווידג׳ט הטקסט הרגיל, במקרה זה – עליכם להשתמש בווידג׳ט ה HTML המגיע מובנה בוורדפרס.

כברירת מחדל, אינכם יכולים כלל להשתמש בשורטקודים באף אחד מהווידגטים שהזכרנו. בכדי לאפשר שימוש בשורטקודים בווידג׳טים אלו הוסיפו את הקוד הבא בקובץ functions.php בתבנית שלכם, או טוב מזה – בתבנית הבת שלכם:

add_filter('widget_text', 'do_shortcode');

לאחר שתעשו זאת תוכלו פשוט להוסיף את ווידג׳ט ה HTML בסרגל הצידי ולהוסיף את השורטקוד בתוכו:

הוספת שורטקודים באמצעות ווידג׳ט ה HTML

לא לשכוח ללחוץ על שמירה בכדי לשמור את הווידג׳ט.

הרצה של קוד PHP באיזור הווידג׳טים של וורדפרס

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

ניתן לבצע זאת באמצעות תוספים כגון PHP text widget או PHP Code Widget אך מדוע להשתמש בתוספים כאשר אפשר לעשות זאת בעצמינו בשניות ספורות? הפתרון אפילו מהיר יותר מאשר הזמן שייקח להתקנת התוסף.

ערכו את הקובץ functions.php והוסיפו את הקוד הבא:

if ( strpos( $html, "<" . "?php" ) !== false ) {
	ob_start();
	eval( "?" . ">" . $html );
	$html = ob_get_contents();
	ob_end_clean();
}
return $html;
}
add_filter( 'widget_text', 'php_execute', 100 );

נקו זכרון מטמון (Cache) בהנחה ואתם משתמשים בתוסף Cache כגון WP-Rocket. בכדי לבדוק את הקוד הוסיפו ווידג׳ט טקסט ורשמו בפנים את הקוד הבא:

<?php echo 'שלום עולם !!!' ?>

עכשיו בדקו את המקום בו הוספתם את הווידג׳ט…

מקווה שמדריך קצר זה עזר לכם להבין כיצד להוסיף בקלות שורטקודים ולהריץ קוד PHP באיזור הווידג׳טים של וורדפרס. אם אתם אוהבים את התוכן, הרשמו לרשימת התפוצה וקבלו עדכונים חודשיים על מדריכים ומאמרים חדשים… 🙂

רועי יוסף
רועי יוסף

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

{ 2 תגובות… הוסף אחת }
  • חתול 29 באפריל 2018, 14:50

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

השאירו תגובה

פעימות