it-swarm.com.de

Wie rufe ich die Funktion innerhalb einer Seite/eines Beitrags auf, um Inhalte dynamisch zu generieren?

Ich habe der Datei functions.php die folgende Funktion hinzugefügt

function contentGenerator($param) {
   if($param) {
      echo "Content true";
   } else {
      echo "Content false";
   }
}

Wie kann ich diese Funktion innerhalb eines spezifischen Blogposts oder einer Seite aufrufen?

3
Sven

Wenn Sie über den Inhalt eines Posts/einer Seite sprechen, ist dies nicht möglich. Es gibt drei verschiedene Möglichkeiten, um Ihr Problem zu lösen. Die erste Möglichkeit gibt Ihnen die Möglichkeit, den generierten Inhalt in den Inhalt Ihres Posts (oder Ihrer Seite) einzufügen. Die anderen beiden werden in einer Ihrer Vorlagendateien gedruckt. Z.B. in deinem single.php oder page.php.

1. Kurzwahl

Dies wird mehr oder weniger aus den Shortcode API Beispielen kopiert/eingefügt. Fügen Sie dies in Ihren functions.php oder in eines Ihrer benutzerdefinierten Plugins ein.

Sie können die Funktion WYSIWYG Ihres Posts oder Ihrer Seite mit der folgenden Syntax einschließen:

[unique_shortcode_name foo="123" bar="medium"]

Platziere dies in deiner functions.php oder in einem deiner benutzerdefinierten Plugins:

add_shortcode('unique_shortcode_name', 'generate_content');
function generate_content($attributes) {
    // Parses the parameters/attributes and makes them available as variables.
    extract(shortcode_atts(array(
        'foo' => 'default value for foo',
        'bar' => 'default value for bar',
    ), $attributes));

    // Generate stuff
    $output = complex_content_generation_goes_here();

    return $output;
}

Sie können auch einen Shortcode erstellen, der den Inhalt enthält. Durch das Einschließen von Shortcodes können Sie Text als Parameter verwenden. Es könnte so etwas heißen:

[unique_shortcode_name foo="123"]Some text input[/unique_shortcode_name]

Weitere Informationen hierzu finden Sie in der Shortcode-API-Dokumentation .

2. Seitenvorlage

Dies gibt Ihnen die Möglichkeit, eine bestimmte Vorlagendatei für eine Seite festzulegen (dies funktioniert nicht für reguläre Posts). Hier ist die Dokumentation zu Seitenvorlagen .

Sie können Ihre Vorlage aus einer bereits vorhandenen Vorlagendatei wie page.php erstellen. Die einzige Voraussetzung ist, dass Sie einen mehrzeiligen Kommentar wie folgt oben in Ihre Vorlagendatei einfügen:

<?php
/*
Template Name: Products Page
*/
?>

Der Dateiname muss nicht unbedingt angegeben werden, aber versuchen Sie, ihn nicht zu benennen, damit er möglicherweise von WordPress über die Vorlagenhierarchie abgerufen wird (siehe Nr. 3.). In diesem Fall verwendet WordPress Ihre Vorlage möglicherweise auch für andere Seiten, was zu unerwarteten Ergebnissen führt.

Wenn Sie die obigen Schritte korrekt ausgeführt haben, sollte beim Bearbeiten oder Erstellen einer Seite ein Vorlagenabschnitt mit einem Dropdown-Menü unter Seitenattribute angezeigt werden. So was:

Image showing the template settings on a page edit

3. Vorlagenhierarchie

Die Vorlagenhierarchie legt fest, welche Vorlage für die aktuelle Seitenansicht verwendet werden soll, und sucht dazu nach einer geeigneten Datei anhand ihres Namens. Es gibt ein wirklich beschreibendes Bild der Vorlagenhierarchie im Codex. Bitte überprüfen Sie diese, um besser zu verstehen, wie die Vorlagenhierarchie funktioniert.

6
hampusn

contentGenerator($param);
fügen Sie diesen Code einfach in die page.php-Datei ein.
Wenn Sie in function.php Funktionen definieren, können diese Funktionen in mehreren Vorlagendateien Ihres Themas verwendet werden.

1
dipali