Wordpress - Give Author users the right to embed
The capability you are after is called unfiltered_html
. Some options:
Modify author capabilities in your theme
functions.php
. This is saved in the DB, so you can access a page, make sure it works then remove it from yourfunctions.php
file. A better option would be to run it on theme activation. See this page on WP Codex for options:function add_theme_caps() { // gets the author role $role = get_role( 'author' ); // This only works, because it accesses the class instance. // would allow the author to edit others' posts for current theme only $role->add_cap( 'unfiltered_html' ); } add_action( 'admin_init', 'add_theme_caps');
Use a plugin that allows you to modify it using a UI, like User Role Editor.
This is a bad idea and you might as well just give those users "higher" roles as with the "unfiltered_html" permission it is not very hard to duplicate the admin authorization cookies and take control of the site.
What you should do is to teach them to use the built-in functionality of oEmbed, which should be enough to embed content from many sites in a simple way, by just putting the url of the content on a line of its own, but if that is not good enough, then you need to write shortcodes that will do the actual embed into the content.