web-dev-qa-db-de.com

Verwenden von Funktionen aus einem Plugin in Ihrem Thema

Ich bin ein Anfänger für WordPress (und für PHP in dieser Angelegenheit).

Ich versuche einige der Grundlagen zu verstehen und baue einen kleinen E-Commerce-Laden mit einem Plugin namens "Jigoshop".

Ich lese die Quelldateien durch und sehe eine Reihe nützlicher Funktionen - Dinge wie eine "is_featured" -Funktion, die true zurückgibt, wenn das Produkt über ein Produkt-Meta verfügt, das es als gekennzeichnet kennzeichnet. oder ein Verweis auf alle Produkte, die ich verwenden kann, ohne meine eigenen einzurichten, indem ich die Posts abfrage und diejenigen herausfiltere, die keine Produkte sind.

Ich habe eine benutzerdefinierte Vorlagendatei, die ich für die Storefront (Homepage) verwende, und ich möchte auf einige dieser Funktionen zugreifen, um den Code zu vereinfachen, den ich schreiben muss, aber anscheinend habe ich keinen Zugriff darauf.

Meine Fragen sind:

Können in einem Plugin definierte Funktionen und Objekte in meinen Designvorlagen verwendet werden (oder in benutzerdefinierten Vorlagen; ich verwende gerade ein untergeordnetes Design)?

6
Squadrons

Ja, Sie können Funktionen von Plugins in Ihrem Thema verwenden. Verwenden Sie die function_exists () -Funktion, um sicherzustellen, dass die Funktion beendet wird. Ich habe Breadcrumbs Plus in einem der folgenden Themen verwendet:

<?php
if (function_exists('breadcrumbs_plus'))
{
    $breadcrumb_options = array(
            'prefix' => '<div id="breadcrumb">',
            'suffix' => '</div>',
            'title' => 'Du er her: ',
            'home' => 'Forside',
            'sep' => '/',
            'front_page' => false,
            'bold' => false,
            'blog' => __('Blog', 'rev'),
            'echo' => true
    );

    breadcrumbs_plus($breadcrumb_options);
}
?>
5
Box

Die kurze Antwort lautet: Ja. Wenn ein Plugin eine Funktion festlegt, können Sie diese in Ihrem Thema verwenden. Verwenden Sie wie in @Box beschrieben unbedingt den Wrapper if (function_exists ('')), damit Ihre Site nicht beschädigt wird, wenn dem Plugin in Zukunft etwas passiert oder Sie es zu Testzwecken deaktivieren müssen . (Es wäre ein Albtraum, in diesem Szenario zu debuggen)

Wenn das Plugin Klassen und Objekte verwendet, wird es etwas schwieriger, herauszufinden, was das Objekt ist, um auf die Funktion zu verweisen, aber ich habe nach Filtern gesucht, die ich zum Einbinden verwenden kann, und oft helfen mir diese beim Auffinden die Informationen, die ich brauche.

Wenn Sie ein Beispiel angeben oder auf das Plugin verweisen, das Sie verwenden möchten, können wir Ihnen möglicherweise dabei helfen, herauszufinden, wie Sie auf die Funktionen zugreifen können.

0
Crazycoolcam