web-dev-qa-db-fra.com

Utiliser les fonctions d'un plugin dans votre thème

Je suis un débutant pour wordpress (et php d'ailleurs).

J'essaie de comprendre certaines notions de base et de créer un petit magasin de commerce électronique à l'aide d'un plugin appelé "Jigoshop".

Je suis en train de lire les fichiers sources et de voir un tas de fonctions utiles, comme une fonction "is_featured" qui renvoie true si le produit a une méta de produit qui le marque comme étant en vedette; ou une référence à tous les produits que je peux utiliser sans avoir à configurer le mien en interrogeant les publications et en filtrant ceux qui ne sont pas des produits.

J'ai un fichier de modèle personnalisé que j'utilise pour la vitrine (page d'accueil) et j'aimerais accéder à certaines de ces fonctions pour simplifier le code que je dois écrire, mais il semble que je n'y ai pas accès.

Mes questions sont:

Les fonctions et les objets définis dans un plug-in sont-ils utilisables dans mes modèles de thème (ou modèles personnalisés; j'utilise actuellement un thème enfant)?

6
Squadrons

Oui, vous pouvez utiliser les fonctions des plugins dans votre thème. Veuillez utiliser la fonction function_exists () pour vous assurer que la fonction se ferme. J'ai utilisé le Breadcrumbs Plus dans l'un des thèmes suivants:

<?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

La réponse courte est oui, si un plugin définit une fonction, vous pouvez l'utiliser dans votre thème. Comme décrit par @Box, utilisez certainement le wrapper if (function_exists ('')) afin que, si quelque chose se passe dans le plugin à l'avenir, ou que vous deviez le désactiver à des fins de test, l'absence de la fonction n'enfreindra pas votre site . (Ce serait un cauchemar de déboguer dans ce scénario)

Si le plugin utilise des classes et des objets, il devient alors un peu plus difficile de comprendre ce que l'objet est de référencer la fonction, mais ce que j'ai fait est recherché pour les filtres que je peux utiliser pour m'accrocher, et ceux-ci m'aideront souvent à obtenir les informations dont j'ai besoin.

Si vous donnez un exemple ou référencez le plug-in que vous essayez d'utiliser, nous pourrons peut-être vous aider à comprendre comment accéder à ses fonctions.

0
Crazycoolcam