לפעמים אנו מעוניינים לאפשר הרצה של קוד 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 'שלום עולם !!!' ?>
עכשיו בדקו את המקום בו הוספתם את הווידג׳ט…
אם אנו כבר בנושא, אז בכדי לאפשר שורטקודים בטקסט ווידג׳ט הוסיפו את הקוד הבא לקובץ functions.php
:
add_filter('widget_text', 'do_shortcode');