Wordpress Заголовок сообщения не отображается

Я создал условие, если настраиваемое поле 'ideasado2' пусто, все содержимое скрыто. Поля хорошо работают в веб-интерфейсе Wordpress Post, но заголовок сообщения не отображается.

Что-то пошло не так:

<?php $post = get_post_meta($post->ID, 'significado2', true) ; if (!empty($post)) { ?>
    <div class="conteudo"<?php wpex_schema_markup( 'entry_content' ); ?>><?php the_content(); ?>
          <hr />
<strong><span style="font-size: 21px;">2.  <?php the_title(); ?></span></strong>        
<p><em><span style="font-size: 18px; color: #008000;"> <?php the_field( 'significado2' ); ?></span></em></p>
<p style="padding-left: 30px;"><span style="color: #000080; font-size: 14px;"><i><?php the_field( 'ingles2' ); ?></i></span><br>
<span style="color: #ff0000; font-size: 14px;"><i> <?php the_field( 'portugues2' ); ?></i></span></p>

          <?php echo wpautop( get_post_meta( get_the_ID(), $post . 'significado2', true ) );?>
    </div>

Как я могу это исправить? <?php the_title(); ?> не отображается на странице поста внешнего интерфейса

1 ответ

Решение

Я считаю, что проблема здесь:

$post = get_post_meta($post->ID, 'significado2', true) ;

..потому что в основном перезаписывает глобальный $post переменная.

Так что измените эту строку:

<?php $post = get_post_meta($post->ID, 'significado2', true) ; if (!empty($post)) { ?>

..к этому:

<?php $key = get_post_meta($post->ID, 'significado2', true) ; if (!empty($key)) { ?>

И измени эту строку:

<?php echo wpautop( get_post_meta( get_the_ID(), $post . 'significado2', true ) );?>

..к этому:

<?php echo wpautop( get_post_meta( get_the_ID(), $key . 'significado2', true ) );?>

Или вот модифицированный код:

<?php $key = get_post_meta($post->ID, 'significado2', true) ; if (!empty($key)) { ?>
    <div class="conteudo"<?php wpex_schema_markup( 'entry_content' ); ?>><?php the_content(); ?>
          <hr />
<strong><span style="font-size: 21px;">2.  <?php the_title(); ?></span></strong>        
<p><em><span style="font-size: 18px; color: #008000;"> <?php the_field( 'significado2' ); ?></span></em></p>
<p style="padding-left: 30px;"><span style="color: #000080; font-size: 14px;"><i><?php the_field( 'ingles2' ); ?></i></span><br>
<span style="color: #ff0000; font-size: 14px;"><i> <?php the_field( 'portugues2' ); ?></i></span></p>

          <?php echo wpautop( get_post_meta( get_the_ID(), $key . 'significado2', true ) );?>
    </div>
<?php
// You forgot to include the closing } (i.e. bracket). If this causes problems,
// then remove it.
?>
<?php } // end $key ?>
Другие вопросы по тегам