在WordPress插件中注册侧边栏

时间:2021-01-13 作者:Juan Miqueo

我们开发了一个Wordpress插件来创建预订引擎。我们使用一个短代码来构建签出过程。此短代码创建html。我们想在这个生成的html中定义一个侧栏,以便插件用户可以附加一些有关预订信息的内容。

添加边栏以允许插件用户自定义边栏,这不是一种坏做法吗?

2 个回复
SO网友:hrsetyono

通过插件注册侧栏没有什么错。您的注册方式与通过主题注册相同:

add_action( \'widgets_init\', function() {
  register_sidebar([
    \'name\' => \'Your Sidebar\',
    \'id\'   => \'your-sidebar\',
  ] );
} );

SO网友:Q Studio

正如@hrsetyono所说,插件可以注册任何主题可以注册的内容,包括小部件边栏。

然而,我们不建议使用匿名闭包函数,因为这不能被其他插件删除-而是使用公共函数(挂钩到公共类方法也可以)。

add_action( \'widgets_init\', \'wpse_381433_widget\', 10 );

function wpse_381433_widget(){
  register_sidebar([
    \'name\' => \'Your Sidebar\',
    \'id\'   => \'your-sidebar\',
  ]);
};
还请注意,您应该尝试向其他人可能希望使用的所有值添加过滤器apply_filters - 这为其他插件提供了一条干净的路径来更改值,而无需更改插件代码。

例如:

// assign variable value ##
$number = 10;

// allow value to be filtered ##
$number = apply_filters( \'plugin/function/variable\', $number );

https://developer.wordpress.org/reference/functions/apply_filters/

相关推荐