我正在尝试使用javascript和文本小部件将AWeber注册表单嵌入到我的主要侧边栏中。但是,当我点击保存时,进度轮永远旋转。当我在很长一段时间后刷新页面时,代码就消失了。所以真正的问题是当我的代码粘贴在那里时保存不起作用。使用text和html几乎可以立即保存,所以我假设javascript正在保存所有内容。我以前从来没有遇到过这个问题。它曾经保存没有任何问题。这是我想要保存的代码。
<script type="text/javascript" src="http://forms.aweber.com/form/78/2041064078.js"></script>
我甚至将WordPress从3.4.1升级到最新版本(3.5.2),但我仍然遇到同样的问题。
答案 0 :(得分:0)
听起来mod_security不允许你发布。您可以在.htaccess中将其关闭(请参阅此处:How can I disable mod_security in .htaccess file?)。
您也可以通过发布略有不同的内容来欺骗它,例如<div></div><script type="text/javascript" src="http://forms.aweber.com/form/78/2041064078.js"></script>
。
或者,您可以直接将其硬编码到模板中。
答案 1 :(得分:0)
也许最好的方法是创建一个新的小部件。这很容易。基本结构是这样的:
class MyWidget extends WP_Widget{
function MyWidget() {
// Instantiate the parent object
parent::__construct( false, 'name', array('description'=>'the description', 'classname'=>'class-name') );
}
function widget( $args, $instance ) {
extract($args);
echo $before_widget;
echo '<h3>title</h3>';
//do some logic here
echo $after_widget;
}
function update( $new_instance, $old_instance ) {
// Save widget options
}
function form( $instance ) {
// Output admin widget options form
}
}
function my_init_widgets() {
register_widget('MyWidget');
}
add_action( 'widgets_init', 'my_nit_widgets' );
这就是全部。 也许那时你应该定义一些自定义侧边栏,例如:
//init sidebar
add_action( 'widgets_init', 'sidebars_init' );
function sidebars_init(){
register_sidebar(
array(
'id' => 'default-sidebar',
'name' => __( 'Default sidebar' ),
'description' => __( "Generic sidebar" ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>'
)
);
如果您定义自己的小部件,则可以添加所需的任何javascript。