• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Thx Cool

Thx Cool

  • Softwareentwicklung
  • SEO
  • Content Marketing
  • Hosting
  • Beratung
  • Blog
    • WordPress
    • Genesis
    • Sicherheit
    • SEO

WordPress PHP in Artikel einfügen

23. November 2018 von thx cool

PHP in Artikel und Seiten einfügen, viel einfacher, als Du glaubst. Eine kurzer und verständlicher Leitfaden zur Erstellung von Shortcodes in WordPress.

Wozu PHP in Artikeln oder Seiten ausführen

Eine Frage, die sich Dir wahrscheinlich nicht stellt, andernfalls wärst Du wohl nicht auf diesen Artikel gestossen. Trotzdem möchte ich Dir an dieser Stelle zwei einfache Beispiele anführen, die wir anschliessend umsetzen.

Datum in Artikel ausgeben

Anders ausgedrückt, wollen wir eine einfache PHP-Funktion, ohne Argumente, ausführen. Dafür öffnen wir mit einem Editor die funtions.php in Deinem Theme. Du findest sie im Verzeichnis Deiner WordPressseite unter wp-conten/themes/dein_child_theme/functions.php

Alternativ kannst Du im Adminverzeichnis unter Design->Editor->functions.php darauf zugreifen. Allerdings solltest Du an dieser Stelle nur Änderungen vornehmen, wenn Du im Notfall einen Zugriff auf Dein Dateisystem hast.

In die functions.php schreiben wir folgenden Code:


function fc_date(){
      return  date('d-m-Y') ."\n";
}
add_shortcode('thx_date', 'fc_date');

Wir haben eine Funktion fcdate() erstellt. Diese macht nichts anderes, als das Datum im Format Tag, Monat, Jahr zurückzugeben. Der Aufruf

add_shortcode('thx_date', 'fc_date')

erstellt einen Shortcode mit dem Hook thx_date und hängt an diesen die Funktion fc_date an. Nachdem wir die Änderung gespeichert haben, können wir in all unseren Seiten und Artikeln das aktuelle Datum ausgeben.
In die Seite oder den Artikel müssen wir lediglich den gewählten Hook in eckigen Klammern eintragen. Der wird bei Aufruf der Seite durch die angehängte Funktion ersetzt und zeigt so das aktuelle Datum.

[thx_date] liefert 26-01-2021

Escape HTML

Manchmal ist es notwendig, HTML nicht auszuführen, sondern lediglich anzuzeigen. Du kannst das an den unzähligen HTML-Beispielen auf thx.cool sehen. Selbstverständlich führe ich den HTML-Escape nicht manuell durch. Stattdessen rufe ich eine PHP-Funktion auf, die das für mich erledigt.

Wieder gehen wir in die functions.php des Child-Themes und fügen folgenden Code ein:


function fc_esc_html( $atts, $content = null ) {
	return esc_html($content);
}
add_shortcode( 'thx_esc_html', 'fc_esc_html' );

Diesmal geht es darum, dass wir unserer Funktion eine Zeichenkette (String) übergeben wollen. Deshalb hat unsere Funktion diesmal Argumente. Die Variable $content enthält nach dem Aufruf den Inhalt unseres Shortcodes. Der Shortcode wird wie zuvor erstellt.

Aufgerufen wird unser erstellter Shortcode so:


[thx_esc_html]<span>Hier wird <strong>HTML</strong> angezeigt, statt ausgeführt!</span>[/thx_esc_html]

Grundsätzlich kannst Du Shortcodes auch Argumente übergeben. Das könnte dann so aussehen:

function fc_esc_color( $atts ) {
    $a = shortcode_atts( array (
        'esc' => '',
        'color' => 0,
    ), $atts );
   if($a['esc'] != '')
      if($a['color']!=0)
         return '<pre><code>' . esc_html($a['esc']) . '</code></pre>';

   return esc_html($a['esc']);
}
add_shortcode( 'thx_esc_upper', 'fc_esc_color' );


In unserer Funktion fc_esc_color parst 'shortcode_atts' das übergebene Array $atts und überträgt es in arry. Anschliessend wird überprüft ob in der ersten Variable etwas steht und ob Farbe gewünscht ist. Wird nichts übergeben, gibt die Funtion einen Leerstring zurück. Der Aufruf:

[thx_esc_color esc='Hier kommt code rein' color=1]

Zusamenfassung

PHP kannst Du in Deinen Beiträgen und Seiten durch die Erstellung von Shortcodes ausführen.
Mit add_shortcode( 'hook', 'call_back_function' ); legst Du in Deiner functions.php einen Shortcode (hook) und übergibst eine Funktion.
In Deiner Funktion stehen Dir drei Parameter zur Verfügung. Du kannst sie alle nutzen oder auch keinen. Im einfachsten Fall nutzt Du keinen Parameter.


function fc_date(){
      return  date('d-m-Y') ."\n";
}
add_shortcode('thx_date', 'fc_date');

Bei einem Shortcode mit umschliessenden Inhalt nutz Du den Parameter $content:


function fc_esc_html( $atts, $content = null ) {
	return esc_html($content);
}
add_shortcode( 'thx_esc_html', 'fc_esc_html' );

Der Parameter $atts liefert Dir ein assoziatives Array oder einen leeren String, wenn keine Attribute im Shortcode angegeben werden.

function fc_esc_color( $atts ) {
    $a = shortcode_atts( array (
        'esc' => '',
        'color' => 0,
    ), $atts );
   if($a['esc'] != '')
      if($a['color']!=0)
         return '<pre><code>' . esc_html($a['esc']) . '</code></pre>';

   return esc_html($a['esc']);
}
add_shortcode( 'thx_esc_upper', 'fc_esc_color' );

Filed Under: Blog, Wordpress Tagged With: PHP in Artikel, shortcode

Reader Interactions

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Primary Sidebar

Neueste Beiträge

  • MAC-Adresse verschleiern
  • Praktisches Beispiel für SQL-Injection
  • Ist Crowdfarming seriös?
  • Die besten Plugins für das Genesis Framework
  • Hooks und Filter in Genesis verstehen und anwenden

Schlagwörter

Catch-Theme Child-Theme Core-Funktionen überschreiben Dashicons Entry-Meta Daten ändern Filter Footer ändern Funktionen überschreiben Genesis Google Hooks PHP in Artikel Plugins Post Post Info SEO shortcode Suchfeldtext ändern Theme Weißer Bildschirm White Screen Wordpress Wordpress Footer Worpress Übersetzung

Lass Dir eine coole Webseite erstellen

THX bietet Dir alles was Du Dir für Deinen erfolgreichen Auftritt im Internet wünschst.

Kontakt aufnehmen
hosting

Lass Dir Deine coole Webseite von THX erstellen

Kontakt

Footer

Kontakt

  • Webseite
  • Email
  • Telephone

Navigation

  • Softwareentwicklung
  • SEO
  • Content Marketing
  • Hosting
  • Beratung
  • Blog

THX.cool

  • Impressum
  • Datenschutz

Newsletter

Copyright © 2021 Kai Hagemeister THX.cool