¿Cómo puedo incrustar wordpress backend en iframe

2

Tengo 2 sitios web enlace y enlace y los necesito para mostrar lo mismo.

Ahora pongo un iframe en index.html y lo subo a aaa.com. Está bien para el frontend, pero no funciona para el backend, donde muestra una página en blanco.

¿Puede alguien sugerirme cómo puedo resolver este problema?

    
pregunta toonztudio 19.04.2012 - 11:15

2 respuestas

3

Por defecto, WordPress envía un encabezado HTTP para evitar la inserción de iframe en /wp_admin/ y /wp-login.php :

X-Frame-Options: SAMEORIGIN

Esa es una característica de seguridad. Si desea eliminar este encabezado, elimine los filtros:

remove_action( 'login_init', 'send_frame_options_header' );
remove_action( 'admin_init', 'send_frame_options_header' );

Pero realmente deberías usar la función multisitio como sugirió Tom J Nowell.

    
respondido por el fuxia 19.04.2012 - 22:39
2

Intenté extender la versión de @toscho

    //remove the restriction
    remove_action( 'login_init', 'send_frame_options_header' );
    remove_action( 'admin_init', 'send_frame_options_header' );

    //for added security
    add_action( 'login_init', 'Access_Control_Allow_Origin' );
    add_action( 'admin_init', 'Access_Control_Allow_Origin' );


    function Access_Control_Allow_Origin(){
        $origin=get_http_origin();
        $allowed_origins=array(//add your domains or keeps empty
            "aaa.com",
            "bbb.com",
        );
        $allowed=false;
        if(count($allowed_origins)>0){
            foreach($allowed_origins as $allowed_origin){
                if (strstr($origin,$allowed_origin)){
                    $allowed=true;
                    break;
                }
            }       
        }else{
            $allowed=true;
        }
        if($allowed){
            return true;
        }else{
            send_origin_headers();
        }
    }
    
respondido por el itsazzad 04.01.2016 - 21:57

Lea otras preguntas en las etiquetas