0

我正在尝试使用 javascript 和文本小部件将 AWeber 注册表单嵌入到我的主侧边栏中。但是,当我单击保存时,进度轮会永远旋转。当我在很长一段时间后刷新页面时,代码就消失了。所以真正的问题是当我的代码粘贴在那里时,保存不起作用。保存几乎可以立即使用文本和 html,所以我假设 javascript 是阻止一切的原因。我以前从来没有遇到过这个问题。它曾经保存没有任何问题。这是我要保存的代码。

<script type="text/javascript" src="http://forms.aweber.com/form/78/2041064078.js"></script>

我什至将 WordPress 从 3.4.1 升级到最新版本(3.5.2),但仍然遇到同样的问题。

4

2 回答 2

0

听起来mod_security不允许您发布该内容。您也许可以在 .htaccess 中将其关闭(请参阅此处:如何在 .htaccess 文件中禁用 mod_security?)。

你也可以通过发布一些稍微不同的东西来欺骗它,比如<div></div><script type="text/javascript" src="http://forms.aweber.com/form/78/2041064078.js"></script>

或者,您可以直接将其硬编码到模板中。

于 2013-07-31T21:25:17.260 回答
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。

于 2013-07-31T21:29:52.653 回答