小部件窗体

时间:2017-09-30 18:54:01

标签: javascript php wordpress widget

我正在创建一个小部件,我需要在管理面板(和自定义程序)中为小部件表单排队一个脚本。我尝试了很多方法:

function cf_enqueue_admin_script() {
    wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
}
add_action('admin_enqueue_scripts', 'cfstcyr_admin_custom_script');

function cf_enqueue_admin_script() {
    wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
}
add_action('admin_print_scripts-widgets.php', 'cf_enqueue_admin_script'));

class cfstcyr_plugin extends WP_Widget {
    public function __construct() {
        ...
        add_action('admin_print_scripts-widgets.php', array(&$this, 'load_scripts'));
    }
    function load_scripts() {
        wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
    }
}

class cfstcyr_plugin extends WP_Widget {
    public function form() {
        ...
        wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
    }    
}

它可以工作,但是当我保存而不刷新页面或当我在定制器中它不起作用。 我也试过这个:

class cfstcyr_plugin extends WP_Widget {
    public function form() {
        ...
        <script type="text/javascript">
            ...
        </script>
    }    
}

但它会触发多次。

我真的需要添加Javascript(媒体上传器,颜色选择器等)但是我在保存页面后没有刷新也不能在定制器中使用它。

所以我想要的是:my_custom_widget.php

class cfstcyr_plugin extends WP_Widget {
    public function form() {
       // Option form for widget
       <p>Click here!</p>
    }
}

和我的widget.js

(function ($) {
    $(document).ready(function () {
        $('.p').click(function() {
            alert('Hello World!');
        });
    });
}(jQuery));

非常感谢!

0 个答案:

没有答案
相关问题