• Resolvido brunobruno3

    (@brunobruno3)


    Pessoal, preciso de uma coisa que é relativamente simples.

    Tenho uma page, e nela preciso que seja adicionado várias divs, mas que serão preenchidas pela tela de post.

    Pensei no seguinte:
    <div class="(classe_que_virá_pelo_wp-admin">Conteúdo</div>

    Eu poderia adicionar isso manualmente pelo corpo do post, mas neste caso, preciso que ele seja um custom taxonomy ou um custom field. Entendem?

    Eu consegui chegar bem próximo de um resultado interessante através de custom taxonomies, mas as “classes” apareciam direto no código, e dentro de . O que não iria servir pra mim.

    Alguém tem alguma idéia de como poderia fazer isso? Algum nome que eu possa procurar no Google? Não consigo achar uma solução para isso até porque não sei nem pelo o que procurar. 😛

    Agradeço qualquer ajuda!

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Acho que é possível com shortcode fazendo a substituição de tags shortcode pelas divs com as classes especiais que vc deseja.

    Exemplo:
    No post vc escreveria assim

    [shortcode_nome div=1]
    Conteúdo do post
    [shortcode_nome]
    
    [shortcode_nome div=2]
    Conteúdo do post
    [shortcode_nome]
    
    [shortcode_nome div=3]
    Conteúdo do post
    [shortcode_nome]

    O resultado então seria trocado por isso

    <div class="minha-class-1">
    Conteúdo do post
    </div>
    
    <div class="minha-class-2">
    Conteúdo do post
    </div>
    
    <div class="minha-class-3">
    Conteúdo do post
    </div>

    A programação para isso não é muito complicada, mas adicionar as classes com base em taxonomia ou em outra coisa qualquer é que pode dar um trabalho.

    Criador do tópico brunobruno3

    (@brunobruno3)

    Ótima idéia! 🙂

    Mas só uma dúvida, eu conseguiria colocar esses shortcodes dentro de outro campo? Um custom field por exemplo? Porque as divs que seria inseridas dinâmicamente, não necessáriamente fariam parte do <?php the_content(); ?>. Entende?

    De qualquer forma, já deu uma luz!

    Não, shortcode só são usados no content o que inclui também o content do widget text

    A meu ver não sei como vc pode dividir partes do post com DIVs sem alguma marcação no corpo do post, seja ela qual for.

    Acho que a sua idéia é tecnicamente impossível de ser feita dinamicamente fora do corpo do post.

    Criador do tópico brunobruno3

    (@brunobruno3)

    Bom, eu acabei achando uma solução e aqui vai para quem tiver um problema parecido no futuro:

    Eu crio o shortcode no functions.php:

    function add_block( $atts, $content = null ) {
    	return '<li class="'.$content.'"></li>';
    }
    
    add_shortcode( 'cor', 'add_block' );

    Instalo o plugin custom fields para poder adicionar quantos custom fields eu quiser de forma padrão e pré-definida (opcional):
    http://wordpress.org/extend/plugins/more-fields/

    Chamo o custom field no meu código, onde quiser, com o link:

    <?php
    	if ( get_post_meta($post->ID, 'cores', true) )
    	echo do_shortcode(get_post_meta($post->ID, 'cores', $single = true));
    ?>

    Vale citar que testei isso num single.php, não tenho certeza se funcionaria em outro lugar, como por exemplo dentro de um sidebar.php.

    Obrigado pela ajuda!

    É eu estava equivocado, não estava mesmo me lembrando do do_shortcode

    E pode sim ser usado onde quiser.

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Inserir div dinâmicamente pelo wp-admin.’ está fechado para novas respostas.