Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como utilizar o 'custom-fields'

Estou fazendo o curso mas adaptando para o que eu preciso, então lendo a documentação do Wordpress que é passada no curso eu queria colocar dois campos adicionais no meu "post" da casa (que no meu caso é produto), esses dois campos seriam 'preço original' e 'preço promocional'.

Então eu adicionei 'custom-fields' no meu array de supports e aparentemente funcionou, pois adicionou esse campo abaixo para eu adicionar nome e valor (imagem abaixo):

$supports = array (

'title',
'editor',
'thumbnail',
'custom-fields'

);

IMAGEM 1 - CUSTOM FIELD APARECENDO

Então eu estou tentando colocar isso no HTML, tentei seguir a documentação, ver alguns tutoriais mas não estou consguindo. Ao adicionar o valor nesse campo, não aparece no HTML. Também não entendi direito se o que eu quero, adicionar campos diferentes do título, img thumbnial, é com esse custom-fields.

Meu HTML:

<section>

                   <div class="container-fluid produtos mt-5">
                       <div class="row">


                        <?php  

                        $args = array ('post_type' => 'produtos');
                        $loop = new WP_Query( $args );

                        if ($loop->have_posts() ) {
                          while ($loop->have_posts() ) {
                            $loop->the_post();
                          ?>

                       <div class="col-xl-2 col-lg-3 col-md-3 col-sm-4 col-md-3 col-12">
                               <div class="produtos-head">
                                <div class="img-fluid produtos-img">
                                <?php the_post_thumbnail();  ?>
                              </div>
                               </div>
                               <div class="produtos-titulo d-flex align-items-center justify-content-center"> 
                                  <?php the_title(); ?>

                                  </div>
                               <div class="preco-original"> preço:R$  <?php
                                      $original_price = get_post_meta($post->ID, 'original_price', true);
                                                if($original_price){ ?>
                                                  <p> <? echo $original_price; ?></p>
                                                                                            <?php 

  }else{ 

  }
?> </div>
                                <div class="preco-promocional"> <span> por: </span>
                                <span class="preco-promocional-number"> R$  </span>


                                  </div>
                                  <button class="btn-vendedor"> Falar com o vendedor </button>
                               </div>

      <?php
                }
              }
               ?>
                  </div>
                </div>


           </section>



<?php get_footer(); ?>

Documentação que tentei seguir:

https://wordpress.org/support/article/custom-fields/ .

https://codex.wordpress.org/Function_Reference/register_post_type

2 respostas
solução!

Respondendo minha própria pergunta. Um usuário do Stackoverflow me respondeu e funcionou.

Era só usar get_the_ID() ao invés $post->ID e trocar para

Tópico resolvido! :)

Olá Gustavo,

O seu código parece estar correto, talvez o problema seja apenas o erro de digitação nessa linha: <? echo $original_price; ?> faltou o php no início:

<?php echo $original_price; ?>