在主题中使用插件中的函数

时间:2011-12-16 作者:Squadrons

我是wordpress(以及php)的初学者。

我正在尝试理解一些基础知识,并使用一个名为“Jigoshop”的插件构建一个小型电子商务商店

我正在阅读源文件,看到了一系列有用的函数,比如“is\\u-featured”函数,如果产品有一个产品元将其标记为featured,那么该函数将返回true;或者引用我可以使用的所有产品,而无需通过查询帖子并过滤掉那些不是产品的内容来设置自己的产品。

我有一个用于店面(主页)的自定义模板文件,我想访问其中一些功能以简化我必须编写的代码,但似乎我没有访问它们的权限。

我的问题是:

插件中定义的函数和对象是否可以在我的主题模板(或自定义模板;我现在正在使用子主题)中使用?

2 个回复
SO网友:Box

是的,您可以在主题中使用插件中的函数。请使用function\\u exists()函数确保该函数确实退出。我在其中一个主题中使用了面包屑Plus:

<?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);
}
?>

SO网友:Crazycoolcam

简单的回答是肯定的,如果一个插件设置了一个函数,你可以在你的主题中使用它。就像@Box所描述的那样,一定要使用if(function\\u exists(“”))包装器,这样,如果插件将来发生了什么事情,或者为了测试而必须禁用它,那么缺少该功能不会破坏您的站点。(在这种情况下进行调试将是一场噩梦)

如果插件使用类和对象,那么要找出引用函数的对象就有点麻烦了,但我所做的是寻找我可以使用的过滤器,这些过滤器通常会帮助我获得所需的信息。

如果您给出一个示例或引用您尝试使用的插件,我们可能会帮助您了解如何访问其功能。

结束