admin管理员组

文章数量:1336289

I'm building a custom dashboard and I'd like to add a feature which allows a user to upload an image.

However, by calling wp.media() (with a title, button & multiple args) javascript throws an error this.activateMode is not a function - Shouldn't it pop-up the media view/modal?

For clarifying, I'm calling wp.media in a button's click event callback function. And yes, I load all the necessary styles/scripts by calling wp_enqueue_media(); and I do see them in the page's source code. And wp.media is not undefined, so it is loaded.

WordPress has very limited dev docs overall, so I'm not sure what dependencies wp.media has/needs in order to work properly. I dove into the source code but couldn't find an answer. Seems like it should work properly by simply calling the wp.media

So.... What I'm missing?

Sure I could build my own modal for media CRUD actions by using WP REST API but it would be a time-consuming process.

I'm building a custom dashboard and I'd like to add a feature which allows a user to upload an image.

However, by calling wp.media() (with a title, button & multiple args) javascript throws an error this.activateMode is not a function - Shouldn't it pop-up the media view/modal?

For clarifying, I'm calling wp.media in a button's click event callback function. And yes, I load all the necessary styles/scripts by calling wp_enqueue_media(); and I do see them in the page's source code. And wp.media is not undefined, so it is loaded.

WordPress has very limited dev docs overall, so I'm not sure what dependencies wp.media has/needs in order to work properly. I dove into the source code but couldn't find an answer. Seems like it should work properly by simply calling the wp.media

So.... What I'm missing?

Sure I could build my own modal for media CRUD actions by using WP REST API but it would be a time-consuming process.

Share Improve this question asked Jan 7, 2019 at 8:34 Cecily MillerCecily Miller 1354 bronze badges 1
  • Do you have a live version to take a look at? Have you checked that you're load order is correct? – Steven Commented Jun 4, 2019 at 6:53
Add a comment  | 

1 Answer 1

Reset to default 2

To solve " TypeError: this.activateMode is not a function " error, add lodash as an external in your webpack config file.

externals: {
   'lodash': 'lodash'
}

本文标签: pluginshow does wpmedia javascript library work