Eso es porque el editor visual filtra por defecto cierto códigos HTML.
Aquí te paso dos posible soluciones que utilicé yo.
Solucion 1:
Definir un «shortcode» para publicar los Google Maps
El siguiente código lo colocas en archivo functions.php de tu plantilla de wordpress.
//Colocar Google Maps mediante Shortcode
function publicar_googlemap_en_wordpresss($atts, $content = null) {
extract(shortcode_atts(array(
"width" => '620',
"height" => '430',
"src" => ''
), $atts));
return '<iframe width="'.$width.'" height="'.$height.'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'.$src.'&output=embed" ></iframe>';
}
add_shortcode("cgmap", "publicar_googlemap_en_wordpresss");
De esta manera definimos un ‘shortcode’ (en este caso «cgmap») para publicar fácilmente cualquier Google Maps simplemente escribiendo en la entrada lo siguiente:
[cgmap width="280" height="280" src="[url]"]
Solución 2:
Impedir que el editor elimine el código «iframe» de las entradas cuando las editas.
El siguiente código lo colocas en archivo functions.php de tu plantilla de wordpress.
function coniframes_tinymce_config( $init ) {
$validos_iframe = 'iframe[id|class|title|style|align|frameborder|height|longdesc|marginheight|marginwidth|name|scrolling|src|width]';
if ( isset( $init['extended_valid_elements'] ) ) {
$init['extended_valid_elements'] .= ',' . $validos_iframe;
} else {
$init['extended_valid_elements'] = $validos_iframe;
}
return $init;
}
add_filter('tiny_mce_before_init', 'coniframes_tinymce_config');
Suerte.