保存按钮在自定义小部件上不起作用

时间:2019-04-30 作者:laviku

我根据创建了一个自定义小部件Widget API 在我做出改变之前,它似乎是有效的。保存按钮未触发,此问题仅影响此新小部件。

另外,自定义小部件也是dynamic_sidebar 但其他小部件都可以正常工作。

按钮已启用,但未触发。

Save Button issue

编辑Widget code

1 个回复
最合适的回答,由SO网友:Tanmay Patel 整理而成

我已检查代码codeshare.io/2jJLDK 并发现了问题。请按照以下说明修复此问题。

在form函数中,您已经使用输入类型作为链接的“url”,并且根据输入类型“url”的规则,它不能接受“#”,因此您必须使用实际url和http/https,如https://www.google.com/ 用于保存/更新小部件链接数据*

如果您想用“#”保存/更新小部件链接数据,则需要将输入类型更改为“文本”,如下所示

From:

<input type="url" name="<?php echo esc_attr( $this->get_field_name( \'link\' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( \'link\' ) ); ?>" class="widefat" value="<?php echo esc_attr( $link ) ?>">

To:

<input type="text" name="<?php echo esc_attr( $this->get_field_name( \'link\' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( \'link\' ) ); ?>" class="widefat" value="<?php echo esc_attr( $link ) ?>">

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'