WordPress Custom Partials mit WP-Block-Shortcode einbinden (HowTo)

Aus wiki.sehanka.de
Version vom 30. Juni 2021, 08:49 Uhr von Sebastian.kalms (Diskussion | Beiträge) (→‎Arbeitsschritte)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Allgemeines[Bearbeiten]

TBD

Vorangegangene(r) Prozess(e)[Bearbeiten]

TBD via Link zu anderem HowTo

Arbeitsschritte[Bearbeiten]

Schritt 1: Funktion im Theme anlegen[Bearbeiten]

  • child_theme/ --> Ordner "php" erstellen, wenn noch nicht vorhanden
  • child_theme/php/ --> Datei "_shortcodes.php" erstellen
  • child_theme/php/_shortcodes.php --> folgendes Snippet integrieren
<?php defined( 'ABSPATH' ) or die();

//[theme_partial partial=name_of_the_partial]
function shortcodeThemePartial( $atts ) {
    if (!isset($atts['partial'])) return;

    $partial = trim($atts['partial']);

    if ($partial == '') return;
    if (!preg_match('/^[a-z0-9_\-]+$/i', $partial)) return;

    $partial_file = get_stylesheet_directory().'/partials/shortcode/'.$partial.'.php';
    if (!file_exists($partial_file)) return;

    ob_start();
    include($partial_file);

    $content = ob_get_clean();
    return $content;
}
add_shortcode( 'theme_partial', 'shortcodeThemePartial' );

Schritt 2: Datei mit Funktion in der functions.php laden[Bearbeiten]

  • child_theme/functions.php --> folgendes Snippet integrieren
include 'php/_shortcodes.php';

Schritt 3: Struktur für Partials im Theme anlegen[Bearbeiten]

  • dient der Ablage der einzelnen Partials
  • child_theme/ --> Ordner "partials" anlegen
  • child_theme/partials/ --> Ordner "shortcode" anlegen
  • child_theme/partials/shortcode/ --> Datei "partialxyz.php" anlegen
  • child_theme/partials/shortcode/partialxyz.php --> folgendes Snippet integrieren
<?php defined( 'ABSPATH' ) or die(); ?>

<h1>It works! Partial wird angezeigt!</h1>

Schritt 4: Partial in Frontend ausgeben[Bearbeiten]

Option A: Partial in WP-Admin einbinden[Bearbeiten]

  • beliebige Seite aufrufen
  • WP-Block-Shortcode anlegen
  • [theme_partial partial=partialxyz] eintragen, speichern und im Frontend ansehen
  • wenn "It works! Partial wird angezeigt!" zu sehen ist, hat alles geklappt.

Option B: Partial in Template einbinden[Bearbeiten]

<?php include 'partials/shortcode/newsletter_cta.php'; ?>

FAQ[Bearbeiten]

Frage 1[Bearbeiten]

TBD

Troubleshooting[Bearbeiten]

Lösung 1[Bearbeiten]

TBD

Nachfolgende(r) Prozess(e)[Bearbeiten]

TBD via Verlinkung zu anderem(n) HowTo(s)

Quellen[Bearbeiten]

  • TBD