Dois (ou mais) TLD paralelos (sub) que são mantidos ao navegar no site / definir dinamicamente o endereço do site?

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

Ambos (sub) domínios estão apontando para a mesma localização física, uma instalação WP ( não multisite).

Eu tenho configuração tal que sub.example.ch/register , por exemplo, mostrará corretamente o conteúdo encontrado em sub.example.org/register .

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

Idealmente , eu gostaria que o visitante continuasse navegando sob o domínio que ele ou ela usava para alcançar o site. Por isso, suponho que eu deva de alguma forma filtrar o valor de retorno das funções mencionadas. Um filtro, que, tanto quanto eu sei, não existe.

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

  2. Isso talvez seja uma idéia idiota e eu deveria deixar isso em primeiro lugar?

Solutions Collecting From Web of "Dois (ou mais) TLD paralelos (sub) que são mantidos ao navegar no site / definir dinamicamente o endereço do site?"

Você pode filtrar as solicitações de opções 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 no wp-config.php . Não sei se há efeitos colaterais ou casos em que não funciona. Não deveria acontecer, mas teste-o completamente.