• Resolvido Johnny Demarch

    (@johnnydemarch)


    Olá.

    Utilizo o plugin METABOX, para usar campos personalizados no WP.
    Consigo fazer Upload de imagens, textos simples, enfim…

    Estou com um problema, preciso fazer uma chamada Embed do Youtube para adicionar vídeos. Adicionei um campo de Embed (o plugin tem especial para isso). Na hora de resgatar os valores, estou utilizando o seguinte:

    $key=”metabox_oembed”; echo get_post_meta ($post ->ID, $key, true);

    Conforme a Miriam me passou aqui pelo fórum.
    Isso funciona normalmente para campos normais… Mas nesse caso, ele está resgatando o valor da url, e não exibindo o vídeo – como deveria ser feito.

    Alguma opinião?
    No site oficial do plugin não há nenhum tutorial ensinando a resgatar esse tipo de valor.

    Grato desde já.

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Você precisa aplicar alguns filtros que o wp faz automaticamente no the_content ().

    Algo assim:

    $key = "metabox_oembed";
    $field = get_post_meta($post->ID, $key, true);
    $content = apply_filters('the_content', $field);
    
    echo $content;

    Criador do tópico Johnny Demarch

    (@johnnydemarch)

    Everaldo.

    Consegui de uma outra maneira. Ao invés de usar um input embed, usei uma input text normal, ai o cliente cola só a EMBED do vídeo naquela input, e eu resgatei o valor da seguinte forma:

    <a href="https://www.youtube.com/embed/php $key='metabox_embed'; echo get_post_meta ($post ->ID, $key, true); php?autoplay=1" class="iframe fancybox.iframe">

    O meu problema agora é outro. Mesmo se não tiver cadastrado nada, ele fica mostrando essa tag a no front-end.

    Como eu faço uma condição, para que se não houver cadastro, não apareça a tag?

    Valeu.

    Criador do tópico Johnny Demarch

    (@johnnydemarch)

    Por exemplo… Para exibir a galeria de imagens do metabox, no site oficial mostra como fazer essa condição:

    //Exibe imagens do metabox
                            $images = rwmb_meta( 'metabox_imgadv', 'type=image_advanced' );
    
                            foreach ( $images as $image ){
                                echo "
                                    <li class='col-md-4 animated zoomIn'>
                                        <a href='{$image['full_url']}' title='{$image['title']}' class='fancybox-thumb' rel='fancybox-thumb'>
                                            <div class='frame-image'>
                                                <div class='moldura'></div>
                                                <img src='{$image['full_url']}' alt='{$image['alt']}' />
                                            </div>
                                        </a>
                                    </li>
                                ";
                            }

    Mas só funciona para as imagens mesmo…

    Criador do tópico Johnny Demarch

    (@johnnydemarch)

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Embed do Youtube’ está fechado para novas respostas.