Como Definir a Largura Máxima do oEmbed no WordPress (4 Métodos Fáceis)

O WordPress facilita a criação de páginas envolventes e multimídia, incorporando automaticamente conteúdo de terceiros como vídeos do YouTube e Tweets.

No entanto, após trabalhar em estreita colaboração com usuários do WordPress nos últimos 15 anos, uma lição que aprendemos é que os oEmbeds também podem causar problemas. Imagine um vídeo do YouTube transbordando seu contêiner e empurrando todo o seu texto para o lado, ou forçando seu botão de call to action para mais para baixo na tela.

É aí que definir uma largura máxima para oEmbeds entra em jogo. Isso permite que você assuma o controle e garanta que seu conteúdo incorporado se ajuste perfeitamente ao design do seu site.

Neste artigo, mostraremos como definir a largura máxima de oEmbed no WordPress para que você tenha controle total sobre o layout do seu site.

Definindo a largura máxima de oEmbed no WordPress

Por que Corrigir a Largura Máxima de OEmbed no WordPress?

O WordPress suporta oEmbed, que permite incorporar automaticamente conteúdo de sites de terceiros. Por exemplo, você pode facilmente incorporar vídeos do YouTube, apresentações do SlideShare, tweets e muitos outros tipos de conteúdo.

Este conteúdo não está hospedado em seu servidor, portanto, não diminuirá a velocidade do seu site. Em particular, você deve sempre usar tecnologias como o oEmbed e nunca fazer upload de um vídeo para o WordPress.

Observação: Embora o Facebook e o Instagram tenham suportado oEmbed no passado, a Meta removeu o suporte ao oEmbed. Para obter instruções passo a passo sobre como corrigir esse recurso, consulte nosso guia sobre como corrigir o problema de oEmbed do Facebook e Instagram no WordPress.

O WordPress sempre tentará ajustar a largura do conteúdo incorporado para que ele se encaixe perfeitamente no espaço disponível. No entanto, às vezes, o conteúdo incorporado pode ser muito largo e sobrepor outras áreas de conteúdo do seu site.

Um embed do WordPress transbordando a largura do conteúdo

Infelizmente, você não pode definir uma largura máxima para incorporações de terceiros usando as ferramentas integradas do WordPress.

Dito isso, vamos ver como você pode adicionar esse recurso ausente e definir uma largura máxima de oEmbed no WordPress. Simplesmente use os links rápidos abaixo para pular diretamente para o método que você deseja usar:

Método 1: Usando o Shortcode de Incorporação (Melhor para Vídeos do YouTube)

Você pode definir uma largura máxima usando um shortcode. Este método é fácil, especialmente se você quiser definir a largura máxima apenas para um pequeno número de posts. Também descobrimos que este método funciona bem para incorporar vídeos em posts de blog do WordPress.

No entanto, o shortcode de incorporação e seus parâmetros de largura e altura não funcionam para todos os provedores oEmbed. Por exemplo, você não pode usá-lo para definir a altura e a largura de uma incorporação do Giphy no WordPress. Nesse caso, você pode tentar um dos outros métodos mencionados abaixo.

Em vez de colar o URL no editor de posts, você precisará criar um bloco de shortcode. Você pode então adicionar parâmetros de largura e altura ao código de incorporação.

Por exemplo, você simplesmente precisa envolver o seguinte em tags embed:

width="900" height="600"]https://www.youtube.com/watch?v=6LwWumPeues

Basta alterar os valores de largura e altura para atender às suas próprias necessidades e substituir o URL pelo conteúdo que você deseja incorporar.

Largura do shortcode de embed

Quando estiver satisfeito com a página, basta clicar em ‘Atualizar’ ou ‘Publicar’.

O conteúdo incorporado agora deve caber perfeitamente no espaço disponível.

Largura de oEmbed ajustada

Método 2: Usando os Blocos de Incorporação Integrados do WordPress (Fácil)

O editor de blocos do WordPress vem com vários blocos de incorporação para diferentes serviços oEmbed, como blocos para Twitter, transmissões ao vivo do YouTube e vídeos, e incorporações do SoundCloud.

Blocos de embed no WordPress

Alguns desses blocos permitem que você altere o alinhamento da incorporação e defina o conteúdo como 'Largura ampla' ou 'Largura total'.

Se você escolher largura total, o bloco de incorporação e o conteúdo incorporado ocuparão toda a largura da tela. Se você escolher largura ampla, o bloco de incorporação ocupará toda a largura, mas o conteúdo permanecerá do mesmo tamanho.

O resultado final pode variar dependendo do seu tema WordPress. No entanto, este é um método rápido e fácil, então vale a pena ver se funciona para o seu site WordPress.

Simplesmente clique no botão 'Alinhar' na pequena barra de ferramentas acima do bloco. Em seguida, selecione 'Largura ampla' ou 'Largura total'.

Adicionando alinhamento a um bloco de embed no WordPress

Se isso resolver o problema da largura máxima para a incorporação, você pode prosseguir e publicar a página. Se você não estiver satisfeito com a aparência, precisará tentar um método diferente.

Método 3: Usando PHP Personalizado (Definir uma Largura Máxima para Todas as Incorporações)

Às vezes, você pode querer definir uma largura máxima para todo o conteúdo incorporado. A maneira mais fácil de fazer isso é adicionando código personalizado ao seu site WordPress.

O problema com este método é que o atributo de largura máxima só funcionará se o conteúdo incorporado ainda não tiver uma 'largura' definida. Se o código de incorporação já incluir seu próprio atributo 'width', este método pode não funcionar.

Se você ainda não editou o código do seu site antes, dê uma olhada em nosso guia sobre como adicionar facilmente trechos de código personalizados no WordPress.

Alguns guias pedem para você editar os arquivos do tema manualmente, mas isso pode causar todos os tipos de erros e até mesmo quebrar completamente seu site.

Por esse motivo, recomendamos o uso do WPCode. Ele facilita a adição de trechos de código no WordPress sem a necessidade de editar os arquivos do seu tema. Dessa forma, você pode atualizar ou alterar seu tema sem perder todas as suas funções de código personalizadas.

O WPCode também vem com uma biblioteca de trechos de código pré-configurados, que inclui um trecho de ‘Definir Largura Máxima de oEmbed’. Isso permite que você especifique uma largura e altura máximas para seus oEmbeds.

Primeiro, você precisará instalar e ativar o plugin gratuito WPCode. Para mais informações, consulte nosso guia passo a passo sobre como instalar um plugin do WordPress.

Após a ativação, navegue até Trechos de Código » Biblioteca no seu painel de administração do WordPress.

A biblioteca de snippets de código prontos do WPCode

Aqui, você pode pesquisar por ‘Definir Largura Máxima de oEmbed’ e passar o mouse sobre o resultado com o mesmo nome.

Você pode então clicar em ‘Usar Trecho’.

O código de oEmbed pronto, fornecido pelo plugin de snippets de código WPCode

O WPCode o levará para a página ‘Editar Trecho’, onde o plugin já configurou tudo para você.

Aqui, você notará o seguinte trecho de código pronto:

function wpcode_snippet_oembed_defaults( $sizes ) {
	return array(
		'width'  => 400,
		'height' => 280,
	);
}

add_filter( 'embed_defaults', 'wpcode_snippet_oembed_defaults' );

Por padrão, isso define a largura máxima para ‘400’ e a altura máxima para ‘280’. Não se esqueça de ajustar os atributos de altura e largura para atender às suas necessidades.

Por fim, clique no controle deslizante ‘Inativo’ para que ele mostre ‘Ativo’. Em seguida, basta clicar no botão ‘Salvar Snippet’ ou ‘Atualizar’ para tornar o snippet de código ativo.

Ativando um snippet PHP personalizado

Método 4: Usando CSS (Definir Largura Máxima para Tipos Específicos de Incorporação)

Por padrão, o WordPress adiciona automaticamente classes CSS a diferentes áreas do seu site.

Ele também adiciona várias classes CSS para incorporar blocos. Você pode usar essas classes CSS para definir uma largura máxima para incorporações em seu blog WordPress.

Esta é uma boa opção se você quiser definir um tamanho máximo para um tipo específico de incorporação, como Tweets incorporados. Ele também permite que você crie um tamanho máximo para todo o conteúdo incorporado, independentemente do tipo.

Para descobrir quais classes CSS você precisa segmentar, basta incorporar conteúdo em uma postagem ou página e, em seguida, visualizá-la em seu navegador.

Em seguida, passe o mouse sobre o conteúdo incorporado e clique com o botão direito. No menu que aparece, selecione a ferramenta ‘Inspecionar’.

Ferramenta de inspeção do Chrome

Isso abre um novo painel mostrando todas as classes CSS que o WordPress adicionou ao conteúdo incorporado. Você pode usar essas classes para definir uma largura máxima para esse tipo de incorporação.

Para segmentar um provedor de oEmbed específico, você normalmente usará .wp-block-embed-providername, portanto, procure essa classe no painel.

Por exemplo, na imagem a seguir, sublinhamos a classe .wp-block-embed-providername . Nesta linha, também podemos ver uma classe .wp-block-embed-pinterest.

Encontrando classes CSS para blocos de embed

Você pode definir uma largura máxima apenas para incorporações do Pinterest usando a classe .wp-block-embed-pinterest.

Por exemplo:

.wp-block-embed-pinterest {
    max-width: 900px!important;
}

Apenas esteja ciente de que pode ser necessário substituir .wp-block-embed-pinterest por uma classe CSS diferente, dependendo do conteúdo que você deseja segmentar.

Se você quiser definir uma largura máxima para todas as incorporações, poderá usar o seguinte trecho:

.wp-block-embed {
    max-width: 900px!important;
}

A maneira mais fácil de adicionar CSS personalizado ao seu site é usando o WPCode. Simplesmente crie um novo trecho personalizado seguindo o mesmo processo descrito acima.

No entanto, desta vez, abra o menu suspenso ‘Tipo de Código’ e selecione ‘Trecho CSS’.

Adicionando um snippet CSS ao WordPress

Agora você pode salvar e publicar este trecho exatamente da mesma maneira que você torna qualquer trecho do WPCode ativo.

Com isso feito, o WordPress usará esse valor como o tamanho máximo para suas incorporações.

Dica Bônus: Como Adicionar Facilmente Seus Feeds de Mídia Social ao WordPress

Se você incorpora regularmente conteúdo de plataformas de mídia social, pode economizar muito tempo e esforço usando Smash Balloon.

Smash Balloon é o melhor plugin de mídia social para WordPress e permite que você adicione facilmente seus feeds de mídia social a um site WordPress.

Um exemplo de postagem de mídia social incorporada, criada usando Smash Balloon

Ele suporta todos os embeds populares de mídia social, incluindo YouTube, Twitter, Instagram e vídeos do TikTok.

Mais importante ainda, o Smash Balloon é responsivo para dispositivos móveis e funciona com qualquer tema WordPress, então seu conteúdo incorporado sempre ficará ótimo.

Um exemplo de linha do tempo do Facebook incorporada, criada usando Smash Balloon

Esperamos que este artigo tenha ajudado você a aprender como definir uma largura máxima de oEmbed no WordPress. Você também pode querer ver nosso guia sobre como incorporar facilmente código iFrame no WordPress, ou nossa comparação especializada do melhor software de chat ao vivo para pequenas empresas.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

43 CommentsLeave a Reply

  1. O problema disso é que ele também limita a largura máxima das imagens ao tamanho definido. O que posso fazer se quiser limitar a largura do embed no editor, mas não a da imagem? Obrigado

  2. Olá, funciona perfeitamente para mim.
    Mas isso afeta o site como um todo, que tem larguras diferentes, pois existem páginas de largura total, com barras laterais, ou fóruns, etc.
    É possível discriminar isso para afetar apenas as páginas do fórum bbpress?

    Será muito útil, obrigado!

  3. Para quem não conseguir fazer isso funcionar ou se vídeos do Youtube e outros conteúdos iframe não estiverem redimensionando, você precisará adicionar o seguinte código ao seu style.css

    /* Garante que embeds e iframes caibam em seus contêineres */
    embed,
    iframe,
    object {
    max-width: 100%;
    }

    Espero que ajude. E Syed, obrigado pela ótima postagem!

  4. Você não pode usar iframe, object, embed { max-width: 100%; height:auto;} sim, ele corrige a largura e torna o vídeo responsivo, mas não corrige a altura ao visualizar no navegador.

    Existe realmente uma maneira de fazer isso? Já tentei quase tudo, nem mesmo o fitvids funciona porque você está definindo uma largura base em px nas funções, mas ele mostra essa largura no celular, então quando você tenta corrigir isso com max-width, a altura dá problema mesmo no navegador…

    estou pensando em media queries ou algo assim? ugh, estou exausto.

  5. Olá, obrigado pela dica, mas não funciona, eis o que você precisa no seu arquivo function.php:

    add_filter(’embed_defaults’,’yourthemename_embed_defaults’);
    function yourthemename_embed_defaults($defaults) {
    $defaults[‘width’]=600; // ou o que você quiser
    $defaults[‘height’]=360; // ou o que você quiser
    return $defaults;
    }

    funciona muito bem!
    Atenciosamente,

    • Não tenho certeza se o outro comentarista percebeu, mas o código tem aspas curvas e quebraria um site. Vou testar aqui para ver se os wrappers de shortcode impedirão a alteração que quebrou o código…

      add_filter('embed_defaults','yourthemename_embed_defaults');
  6. Estou tentando postar um filme de animação de ponta do YouTube no meu blog WordPress. A parte inferior do quadro está cortada na pré-visualização. Depois que a seta de reprodução é clicada, esse problema desaparece. Mas o cineasta está legitimamente infeliz que a pré-visualização na postagem dará a aparência de um erro. Ajustar a altura e a largura no código da postagem funciona, mas não resolve o problema. Ideias?

  7. Olá,

    Usei sua solução para a largura e funcionou muito bem. Mas como defino a altura agora? É apenas o mesmo if ( ! isset( $content_width ) ) $content_width = 560; mas com a palavra ‘width’ substituída pela palavra ‘height’? Tentei isso e não funcionou….

  8. Ótimo, está funcionando! Mas e se eu precisar que seja responsivo?
    Alguma ideia de como fazer isso?

  9. Olá,
    existe uma maneira de forçar todos os iframes do site a terem 100% de largura. não apenas o youtube
    tenho cerca de 300 iframes e todos com tamanho fixo, então… obrigado desde já
    Josef

  10. Olá,
    existe uma maneira de forçar todos os iframes do site a terem 100% de largura. não apenas o youtube
    tenho cerca de 300 iframes e todos com tamanho fixo, então…

  11. Adicionei este código ao meu functions.php, mas não fez diferença, e presumo que seja porque meu tema não define $content_width.

    Vejo o link para o codex sobre como defini-lo, mas não sou um desenvolvedor e não tenho um de plantão; como se adiciona uma definição de $content_width a um tema? Onde vai? Obrigado!

  12. Isso funcionou perfeitamente, há alguma maneira de forçar e definir o vídeo para qualidade HD em vez de qualidade SD, que parece ser o padrão, mesmo que nas minhas configurações do YouTube eu o tenha definido para padrão HD?

  13. Observe que a variável $content_width deve ser declarada como global antes que esta correção funcione.

  14. O WP parece ser atualizado por pessoas que não entendem a centralidade da multimídia na Internet. Não sei por que essa preferência básica exigiria intervenção no código. O WP claramente não conseguia saber a largura das minhas colunas. De qualquer forma, tudo resolvido agora. Vocês são demais.

    • Bem, Nigel, há mais do que isso. Eles estão tentando tornar o WordPress mais fácil de usar para os “usuários”. Com o tempo, o WordPress adicionou uma opção após a outra. Isso se torna realmente assustador para novos usuários. É por isso que eles estão seguindo a rota de decisões em vez de opções. A esperança com essa largura máxima oEmbed é que cada designer de tema deva/irá defini-la em seus temas, para que o usuário final não precise se preocupar com isso.

      Admin

  15. Olá
    Obrigado pela sua postagem.

    Mas não consigo fazer isso funcionar, escrevi o outro post que você mencionou nos comentários. Mas ainda não consigo fazer funcionar, coloquei isto:

    No início do meu functions.php, mas então todo o meu site parou de funcionar. tudo ficou branco, tive que editar o arquivo via ftp para fazê-lo funcionar novamente.

    O que estou fazendo de errado?

    Obrigado!

    • Consegui fazer a responsividade funcionar mais ou menos definindo uma max-width: 100% nos meus iframes em CSS. Claro que a altura é definida automaticamente dependendo da largura do seu conteúdo, mas isso pelo menos deve fazê-lo funcionar corretamente sem usar nenhum JS extra. Fitvid é o caminho a seguir, mas isso funcionou para mim.

        • Eu uso este código CSS para design responsivo:

          iframe, object, embed { max-width: 100%; } (se você quiser, pode adicionar -> height: auto)

        • Infelizmente o CSS do Roman ou não funciona em alguns temas ou não funciona com o novo player de mídia do WP 3.6 que está integrado ao core. Eu acabei de tentar e nada. Estou tentando conseguir um tema que seja responsivo para manter o novo player do WP 3.6 responsivo também, mas sem sorte até agora. O tema 2012 parece lidar com isso muito bem, mas não consigo descobrir o que eles estão fazendo de diferente deste tema com o qual estou trabalhando.

  16. Sou um novato em WP e codificação, com isso dito, não tenho certeza onde colocar o código “if ( ! isset( $content_width ) ) $content_width = 600;”. Fui ao arquivo function.php no meu tema Suffusion e não tenho certeza de onde exatamente inserir este código. Tentei em vários lugares onde mencionava anexo de vídeo e não está funcionando. No meu caso, os vídeos incorporados estão agora muito grandes para o meu tema desde a atualização para o WP 3.5.

    • Sim, concordo totalmente com você. Apenas temas mal codificados não terão isso. Mas existem muitos deles por aí. Um tema que um de nossos clientes estava usando não tinha essa parte. No geral, é um bom tema.

      Admin

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.