Dois (ou mais) TLDs paralelos (sub-) que são retidos quando navegam no site / definem dinamicamente o endereço do site?

10

Estou executando um site para uma ONG alemã no domínio sub.example.org .
Recentemente, adicionei sub.example.ch para o spin-off da Suíça.

Ambos (sub) domínios estão apontando para o mesmo local físico, uma instalação WP ( não multisite).

Eu configurei de tal forma que sub.example.ch/register , por exemplo, mostre corretamente o conteúdo encontrado em sub.example.org/register .

No entanto, quando um visitante suíço navega pelo site usando links regulares no site, ele inevitavelmente acabará no domínio "regular", já que eles utilizam o "endereço WordPress" (ou "endereço do site") conforme definido nas configurações gerais, seja por meio de get_home_url ou get_site_url() (ou seus get_bloginfo() equivalentes menos profundos).

Idealmente , eu gostaria que o visitante continuasse navegando sob o domínio que ele ou ela usou para acessar o site. Portanto, suponho que eu tenha que filtrar de alguma forma o valor de retorno das funções mencionadas. Um filtro que, até onde sei, não existe.

  1. Alguém tem experiência com esse tipo de coisa e uma solução decente à mão?

  2. Esta é talvez uma ideia estúpida e eu deveria deixá-la ir em primeiro lugar?

por Johannes Pille 21.04.2013 / 22:17

1 resposta

9

Você pode filtrar as solicitações de opção para o host.

No seu wp-config.php abaixo da linha…

require_once ABSPATH . 'wp-settings.php';

… adicione as seguintes linhas:

add_filter( 'pre_option_home', 'set_current_host' );
add_filter( 'pre_option_siteurl', 'set_current_host' );

function set_current_host()
{
    return 'http://' . $_SERVER['HTTP_HOST'];
}

add_filter() não está disponível anteriormente e você deve manter esse código em wp-config.php . Não sei se há efeitos colaterais ou casos em que isso não funciona. Não deve acontecer, mas teste-o completamente.

    
por fuxia 21.04.2013 / 23:03