Suporte » Multisites » É possível fazer isso com multisite?

  • Vou criar um site em WordPress, onde terei esse site principal, nesse site terei uma área com produtos de determinadas marcas que trabalhamos, separados por marcas.

    Essa marcas também terão sites, e também vão exibis esses produtos. Porem, eu quero apenas alimentar o site principal, e que automaticamente esses produtos cadastrados sejam exibidos nos sites referentes, sem eu precisar fazer isso novamente no site da marca.

    Para tentar ficar mais claro:

    Tenho o site principal, e nele produtos da Marca A e produtos da Marca B.
    Tenho nessa plataforma multisite, site da Marca A e site da Marca B.
    Ao cadastrar um produto da Marca A, no site principal, quero que ele seja inserido automaticamente no site da Marca A.

    O multisite me deixa fazer esse tipo de operação?

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @newtonbr,

    Você pode usar a função switch_to_blog para puxar conteúdos e informações de outros sites. Adaptando um código que está na documentação que linkei acima, você terá que fazer o seguinte:

    switch_to_blog( 1 ); // Contando que 1 é o ID do site principal
    // Puxe os produtos que você precisa
    restore_current_blog(); // Não esqueça de chamar essa função para mudar o contexto de volta para o site atual

    Se tiver mais alguma dúvida deixe aqui, caso contrário não esqueça de voltar e marcar seu tópico como resolvido, ok? Boa sorte!

    Olá Felipe, eu preciso do inverso quero que todos os produtos cadastrados em sub-sites seja inseridos no site principal… (obs! Uso Woocommerce plugin).

    Aguardo! desde já agradeço…

    Moderador Felipe Elia

    (@felipeelia)

    Oi @felipevivi100,

    Entendi errado então. No tópico você diz “quero apenas alimentar o site principal”, por isso achei que poderia usar a função nos subsites, mas o pensamento permanece o mesmo. Agora, no site principal, use essa função várias vezes para trocar o contexto para cada subsite e depois retorne para o site principal, dessa forma:

    if ( function_exists( 'get_sites' ) && class_exists( 'WP_Site_Query' ) ) {
    	$sites = get_sites();
    	foreach ( $sites as $site ) {
    		switch_to_blog( $site->blog_id );
       		// Exiba os produtos desse subsite
    		restore_current_blog();
    	}
    }

    Peguei o exemplo daqui.

    Tente ir alem e criar um plugin que você por parâmetros (site id, categoria, limite de produtos, etc) faça essa consulta pra você de forma eficiente e pode usar short_codes

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘É possível fazer isso com multisite?’ está fechado para novas respostas.