如何从“可用小部件”中添加一个小部件的多个副本

时间:2010-12-14 作者:Scott B

我找到了一个需要添加到多个侧栏小部件区域的小部件。然而,很明显,它是经过编码的,因此一旦您将其从“可用小部件”拖到侧栏小部件上,它就会从“可用小部件”列表中消失。

我想在不止一个侧边栏中使用它。是什么在小部件代码中决定了这一点?

3 个回复
最合适的回答,由SO网友:MathSmath 整理而成

听起来您的小部件是以旧(2.8之前)样式编写的,而不是使用小部件类。如果是这种情况,您需要在几个不同的地方添加代码来处理多个实例(这不是一个可以打开或关闭的简单选项)。

退房this page in the Codex, 和this article about creating a multiple instance widget 从中链接。

根据小部件的复杂性,使用Widgets类重写它可能会更容易(Codex文章中提供了示例)。它自动处理多个实例。

SO网友:t31os

这取决于小部件的注册方式register_sidebar_widget 函数不支持创建多个实例。该函数现在已弃用,并已替换为register_widget 允许创建多个实例。

http://codex.wordpress.org/Function_Reference/register_sidebar_widget - 旧的
http://codex.wordpress.org/Function_Reference/register_widget - 新

我认为Widget API 给出了一个足够好的多实例小部件示例。

因此,换句话说,只需更新您的小部件以使用更新的小部件注册方法。

SO网友:Denis de Bernardy

你理解对了。API不允许在多个侧栏中使用相同的小部件。这是由于小部件的删除方式。如果允许的话,如果您从一个侧边栏中删除同一个小部件,WP最终会从所有侧边栏中删除它;它还将在侧栏中留下失效的小部件引用。

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?