Plugin. Html code in Template

时间:2018-10-20 作者:Burnhardo

也许我是盲人或其他什么,但我在这里搜索了很多,还有wordpress codex和类似的东西。在这个示例中,我编写了一个插件,可以从数据库中读取一些内容并打印一些内容。但是我如何将我没有输出到插件本身的内容归档呢?这个想法是把变量放在主题中,其余的都放在主题中。只有当您不想使用全局变量时,do\\u shortcode才能这样做吗?当我在示例中有8个变量时,如何使用一个短代码来实现这一点?正如我所说,也许我是盲人,没有找到正确的东西。或者,做这件简单事情的最佳实践是什么?也许有人有一个小的代码示例?

问候和感谢

1 个回复
SO网友:Antti Koskinen

一种方法是在插件文件中定义一个函数,该函数可以回送或返回内容,然后在需要时在主题文件中使用该函数。

例如my-awesome-plugin.php

function hello_world() {
    echo \'Hello world!\';
}
然后在主题文件中single.php

// safety check if your plugin ever gets disabled
if ( function_exists( \'hello_world\' ) ) {
    hello_world();
}
这将导致你好世界在您的单个帖子上。

然后,由您决定要返回什么类型的内容,或者使用插件文件中定义的函数进行响应。它可以是html、整数、数组、对象等字符串。。。

这些例子对你的情况有帮助吗?

EDIT 现在,当我在发帖后再次阅读你的问题时,我意识到我可能误解了它,并且回答得不恰当。

也许您可以在插件文件中定义一个类并在其中存储数据。然后让函数返回它的单个实例。就像WooCommerce那样。

从…起https://github.com/woocommerce/woocommerce/blob/master/woocommerce.php

function wc() {
    return WooCommerce::instance();
}
关于类初始化,这里有很好的答案,Best way to initiate a class in a WP plugin?

结束

相关推荐

Locating Global Variables

我现在是我们公司网站的管理员,使用Wordpress。我们想更改主页上的一些内容,但不幸的是,我们想要更改的项目似乎是内置于主题中的。我想更改图像滑块的文本覆盖。我已经找到了显示文本的HTML,但实际文本是从PHP变量返回的。有人知道如何追踪变量吗?它必须是由原网站设计师制作的。基本上,我感兴趣的是:<h1><? echo the_title();?></h1> 正在提取信息。这必须是从一系列标题中提取出来的,因为它们会随着幻灯片的变化而变化。我需要更改数组中的一个项目