I'm trying to allow "author" users to embed in posts. I (the administrator) can iframe, embed, etc...., but authors can not.
Can someone show me to give authors 'just' the ability to embed and iframe in posts?
I'm trying to allow "author" users to embed in posts. I (the administrator) can iframe, embed, etc...., but authors can not.
Can someone show me to give authors 'just' the ability to embed and iframe in posts?
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 your functions.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.