我尝试过两种方法中的一种:在form
我的方法Widget
类(扩展WP_Widget
), 我有以下代码段,它设置了一个全局javascript变量:
if( $instance ) :
?>
<script type="text/javascript">
window.widget_order_name = "<?php echo $this->get_field_name( \'order\' ) ?>";
</script>
<?php
endif;
在小部件管理标记中,我还尝试创建以下html结构:<div
field_name=\'<?php echo $this->get_field_name( \'order\' ) ?>\'
id=\'order_field_name\'
class=\'hidden\'>
</div>
在我的小部件管理javascript文件中,我通过两种方式之一(如下所示)获取此字段\\u名称的值,然后将该小部件名称附加到隐藏输入字段(其中包含我要存储的值)的值上。第一种方法,使用window.widget_order_name
:
var widget_field_name = window.widget_order_name;
第二种方法,使用jQuery
抓住field_name
:var widget_field_name = $( \'#order_field_name\' ).attr( \'field_name\' );
我的问题:每当我第一次将小部件从可用的小部件容器移动到侧栏时,我没有得到实际的字段名,而是得到一种字段名的占位符。因此,与其得到这样的东西:
<input
type="hidden"
name="widget-hours-widget[2][order][]"
value="L48">
我明白了:<input
type="hidden"
name="widget-hours-widget[__i__][order][]"
value="L26">
单击“保存”按钮后field_name
给我小部件的正确名称,widget-hours-widget[2]
而不是占位符widget-hours-widget[__i__]
.有没有人遇到过类似的问题或知道如何着手解决?
谢谢