小编pub*_*orn的帖子

Wordpress:为所有窗口小部件设置添加配置选项

在Wordpress中,我的目标是能够为我放在侧边栏中的每个小部件提供一个自定义类.我希望在每个小部件的小部件设置中添加此类.还有第三方小部件.

我正在考虑更改类名,因为类名已经传递给register_sidebar函数(%2 $ s):

<?php
register_sidebar(array('before_widget' => '<aside id="%1$s" class="widget %2$s blue">'));
?>
Run Code Online (Sandbox Code Playgroud)

当然我不应该更改WP核心代码或第三方插件.这意味着我需要编写一个将挂钩到小部件配置过程的插件.

我已经发现可以通过挂钩动作'in_widget_form'来修改所有小部件表单:

<?php
add_action('in_widget_form', 'teaserWidgetAddToForm');

function teaserWidgetAddToForm($widget_instance) {
  ?>
  <label for="<?php echo $widget_instance->get_field_id('teaser-classname'); ?>">Custom classname(s):</label>
  <input type="text" id="<?php echo $widget_instance->get_field_id('teaser-classname'); ?>" name="<?php echo $widget_instance->get_field_name('teaser-classname'); ?>">
  <?php
}
?>
Run Code Online (Sandbox Code Playgroud)

这个数据应该由Widget超类保存,但是如何检索这些数据(所以当打开窗口小部件设置以后会显示你之前填写的内容)

并且,这个保存的数据应该放在小部件实例中 - 这样做了吗?我猜通过使用类似的东西:

<?php
$wp_registered_widgets[<widget_id>]['callback'][0]['widget_options']['classname'] = <chosen_class>;
?>
Run Code Online (Sandbox Code Playgroud)

所以基本上我有两个问题:

  • 我是否使用正确的方法来解决这个问题(个别小部件的样式)
  • 如果是这样,我如何修改窗口小部件实例以保存和检索其他设置,而无需修改Wordpress或第三方插件源代码.

wordpress

8
推荐指数
1
解决办法
4639
查看次数

在maven中运行测试时访问jasmine中的jQuery(window).height()时出错

为了增加项目的测试覆盖率,我开始为现有的JS代码构建测试.

其中一个现有模块使用jQuery将窗口高度放在一个变量中:var window_height = jQuery(window).height(); 内部jQuery使用clientHeight属性.

现在使用mvn clean installmvn -o test我收到错误: 无法从null读取属性"clientHeight"

我假设这是因为Jasmine创建的"虚拟浏览器"没有window属性.有没有办法让这项工作?

window maven jasmine

2
推荐指数
1
解决办法
2028
查看次数

标签 统计

jasmine ×1

maven ×1

window ×1

wordpress ×1