Suporte » Temas e templates » do_shortcode em php….

  • Olá Olá!

    Alguém me pode dar uma ajuda a entender este código?

    Quero usar este código:

    <?php echo do_shortcode('[jwplayer mediaid="4877"]'); ?>

    Mas o shortcode acima, que é inserido num custom field na admin é chamado com

    <?php the_field('codigovideo'); ?>

    Ou seja, como é que eu coloco este ultimo dentro do primeiro codigo de php?

    Eu sei que não é:

    <?php echo do_shortcode('<?php the_field('codigovideo'); ?>'); ?>

    Alguém me pode ajudar a desmembrar este, talvez simples, desafio? 🙂

    “Dankashun!”

A visualizar 13 respostas - de 1 a 13 (de um total de 13)
  • O “do_shortcode” serve para forçar o parsing dos shortcodes, logo, deverás colocar no field “codigovideo” somente [jwplayer mediaid=”4877″]

    e para retornares ( escreveres ) será: <?php echo do_shortcode(get_post_meta($post->ID, ‘codigovideo’, true)); ?>

    PS: a funcção the_field não é do worpress, consegues me mostrar o código dessa função?

    Thread Starter Bruno Rosa

    (@janelaurbana)

    Hum… tentei e nao apareceu nada…

    este codigo do the_field é o codigo php que eles dizem para usar no plugin: advanced custom fields:

    http://wordpress.org/extend/plugins/advanced-custom-fields/

    e foi atraves desse plugin que eu criei este custom field…

    Ok, saquei o plugin vi o código e deverá de ser:
    <?php echo do_shortcode(get_field(‘codigovideo’)); ?>

    Thread Starter Bruno Rosa

    (@janelaurbana)

    coloquei… e o que acontece é: faz print do custom field que é o shortcode, mas não executa esse shortcode…

    http://dl.dropbox.com/u/3651718/doshortcode.jpg

    Nesse caso é porque não tens a shortTag “jwplayer” definida.

    Thread Starter Bruno Rosa

    (@janelaurbana)

    tenho pois… esta shorttag já é usada antes… para verificar, coloquei a mesma short tag no conteudo e ele aparece… e na zona do do_shortcode, continua a fazer print da short tag e nao a executa… (afinal é mais complicado do que eu pensava… :\ )

    Não, não é mais complicado, é simples é o caso de tentar descobrir o que se passa 😉

    Poderá ser pelo valor que vem de um plugin de custom fields e precisar de um shortcode que vem de um plugin ( resumindo, na hora de mostrar esse shortcode ainda não tem o shortcode no sistema )

    De qualquer das formas, tenta desta forma “só para ver”
    <?php echo apply_filters(‘the_content’,get_field(‘codigovideo’)); ?>

    Thread Starter Bruno Rosa

    (@janelaurbana)

    Este…. funcionou! É seguro de usar, ou é modo “só para ver”? 🙂

    Já agora, tens noção porque raio é que o <?php the_category(‘ / ‘); ?> não aparece nada quando estou a usar num template de custom post?

    Sim é seguro, basicamente aplica todos os filtros que são usados no “the_content” por isso é seguro.

    Quanto ao the_category pode ser por varias coisas… pode ser por não ter mesmo uma categoria nesse tipo de post ( visto que as categorias são do type=post e não do teu “custom” ) ou algo relacionado com taxonomies, terias de me explicar tudo o que estas a fazer para tentar dizer-te algo ao certo…

    Thread Starter Bruno Rosa

    (@janelaurbana)

    Ora bem… quanto a categoria, sim, tem…

    Eu criei o seguinte codigo nas functions para criar um custom post:

    register_taxonomy(
        'reports',
    	'reportagens',
        array(
            'label' => __('Categories'),
            'singular_label' => __('Category'),
            'hierarchical' => true,
            'query_var' => true,
            'rewrite' => true,
            'show_in_nav_menus' => true,
        )
    );
    
    register_post_type(
        'reports',
        array(
            'label' => __('Reportagens'),
            'singular_label' => __('Reportagem'),
            'public' => true,
            'show_ui' => true,
            'capability_type' => 'post',
            'hierarchical' => false,
            'rewrite' => true,
            'query_var' => true,
            'show_in_nav_menus' => true,
            'menu_position' => 5,
            'taxonomies' => array('reports'),
            'supports' => array('title', 'editor', 'author', 'thumbnail', 'custom-fields', 'categories'),
            '_builtin' => false, // It's a custom post type, not built in!
    ));

    Ao inserir um post nesta nova secção, criei duas categoria… uma Video, e uma Photo… Inseri um post, e atruibui-o à categoria Video… e é essa categoria que nao aparece…

    esse Artigo que está na categoria “Video” já está publicado?

    Thread Starter Bruno Rosa

    (@janelaurbana)

    yap

    Já me andas a lixar 😛

    Tenta colocar o hierarchical a true, se não der responde para aqui, para eu tentar replicar o teu codigo do meu lado e “vasculhar” em busca de uma solução.

A visualizar 13 respostas - de 1 a 13 (de um total de 13)
  • O tópico ‘do_shortcode em php….’ está fechado a novas respostas.