如果用户具有作者角色并被列为页面的作者,则当他们对页面进行更改并单击更新时,会进行更改,但所见即所得中的iframe会消失,不再显示在后端或前端。如果管理员或编辑器进行了更改并将其保存,则iframe将保持不变。
除了将用户角色更改为编辑器之外,如何防止iframe消失?
我尝试让作者将iframe代码粘贴到文本视图中,并在所见即所得的文本视图中进行更新。
我尝试将这些代码片段添加到函数文件中,希望它可以防止wp剥离它,但这是行不通的。
这是:
function custom_rewrite_basic() {
add_rewrite_rule(\'^about-us/careers/([\\w\\d-]+)/?\', \'index.php?
post_type=jobs&name=$matches[1]\', \'top\');
}
add_action(\'init\', \'custom_rewrite_basic\');
function add_iframe($initArray) {
$initArray[\'extended_valid_elements\'] = "iframe[id|class|title|style|align|frameborder|height|longdesc|marginheight|marginwidth|name|scrolling|src|width]";
return $initArray;
}
// this function alters the way the WordPress editor filters your code
add_filter(\'tiny_mce_before_init\', \'add_iframe\');
还有这个:
function km_add_unfiltered_html_capability_to_editors( $caps, $cap, $user_id ) {
if ( \'unfiltered_html\' === $cap && user_can( $user_id, \'editor\' ) ) {
$caps = array( \'unfiltered_html\' );
}
return $caps;
}
add_filter( \'map_meta_cap\', \'km_add_unfiltered_html_capability_to_editors\', 1, 3 );