【问题标题】:Wordpress - Uncaught TypeError: wp.media is not a functionWordpress - 未捕获的类型错误:wp.media 不是函数
【发布时间】:2017-06-10 01:14:00
【问题描述】:

我希望我的用户能够将图片上传到我的网站。 他们不必登录。

我有一个自定义页面模板,我想在其中执行此操作。我的functions.php中有以下代码块

wp_deregister_script('jquery');
wp_enqueue_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', false, '1.11.3');
....
---------more codes are here---------
....
else if( in_category( $excluded, get_the_ID() ) || get_page_template_slug() == 'mediaCollector.php') {
    wp_enqueue_media();
    wp_enqueue_style('media_collector', get_stylesheet_directory_uri() . '/mediaCollector.css');
    wp_enqueue_style('style_responsive', get_stylesheet_directory_uri() . '/style-responsive.css');
    wp_enqueue_style('font-awesome', plugins_url() . '/my-plugin/css/font-awesome.min.css');

    wp_enqueue_script('mediaCollectorScript', get_stylesheet_directory_uri() . '/mediaCollector.js');
}
....
---------more codes are here---------
....

这是单击“上传图像”按钮时发生的代码(打开用户可以上传媒体的弹出窗口)。

    \$j = jQuery.noConflict();

    /* Logo Upload */
    \$j(document).ready(function() {
        \$j('.upload-btn').click(function(a) {
            var that = this;
        a.preventDefault();
        var b = wp.media({
            title: 'Upload Image',
            multiple: !1
        }).open().on('select', function(a) {
            var c = b.state().get('selection').first();
            var d = c.toJSON().url;
            \$j(that).parent().find('input[type=text]').val(d)
        });
    });

但我在点击上传按钮时收到以下错误。

Uncaught TypeError: wp.media is not a function

我错过了什么吗?任何帮助表示赞赏。

【问题讨论】:

    标签: javascript jquery wordpress


    【解决方案1】:

    尝试添加这个

    function load_media_files() {
        wp_enqueue_media();
    }
    add_action( 'admin_enqueue_scripts', 'load_media_files' );
    

    也缺少参考 wp_enqueue_script('mediaCollectorScript', get_stylesheet_directory_uri() . '/mediaCollector.js', array('jquery', 'media-upload'), '0.0.2', true);

    【讨论】:

      【解决方案2】:

      该解决方案在我的情况下非常有效

      添加你的function.php

      function load_media_files() {
      wp_enqueue_media();
      }
      add_action( 'admin_enqueue_scripts', 'load_media_files' );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-19
        • 1970-01-01
        相关资源
        最近更新 更多