WordPress: PHP-Dateien per Shortcode includieren

wordpress-includes

Innerhalb des WordPress-Editors lässt sich kein PHP-Code ausführen, was sinnvoll und nachvollziehbar ist, denn ansonsten gäbe es sichere einige zerschossene WordPress-Websites mehr. Ohne PHP könnt ihr allerdings auch keine externen Dateien inkludieren. Im Rahmen eines individuellen Themes seid ihr also, was die Möglichkeiten von PHP betrifft, auf die Bereiche vor und nach <?php the_content();?> begrenzt. Mit einem Shortcode holt ihr Includes in den Editor.

Webdesign-Seminare von kulturbanause

Im Rahmen der medien[plan]tage bieten wir im Juni folgende Seminare in Bremen an:

3. + 4. Juni – Grundkurs HTML5/CSS3
5. Juni – Moderne Webseiten gestalten

PHP-Includes per Shortcode ermöglichen

Wenn Ihr Includes innerhalb des Inhaltsbereichs einsetzen möchtet, gibt es eine simple Lösung über Shortcodes. Zunächst wird in der functions.php folgender Code eingesetzt:

// include files via shortcode
function include_file($atts) {
	extract(shortcode_atts(array('filepath' => 'NULL'), $atts));
	if ($filepath!='NULL' && file_exists(TEMPLATEPATH.$filepath)){
	ob_start();
	include(TEMPLATEPATH.$filepath);
	$content = ob_get_clean();
	return $content;
	}
}

add_shortcode('include', 'include_file');

Anschließend könnt ihr innerhalb des Editors mit folgendem Shortcode beliebige Dateien inkludieren. Der Pfad der gewünschten Datei ist dabei relativ zum Root des Theme-Ordners. Die folgende Beispieldatei deine-datei.php liegt also im gleichen Verzeichnis wie die styles.css

[include filepath='/deine-datei.php']

Bitte vorsichtig verwenden
Mit PHP-Code innerhalb des WordPress-Editors, könnt ihr eure Website stark beschädigen! Verwendet die hier vorgestellte Lösung also nur, wenn ihr wisst was ihr tut.

Das hier vorgestellte Snippet habe ich auf amberpanther.com gefunden. Diese Seite ist hier nicht verlinkt, da Google Maleware gefunden hat.