在Wordpress中使用自定义字段

时间:2015-04-14 10:25:16

标签: php wordpress

我是wordpress的新手,我尝试使用自定义字段为我的博客设置自定义帖子类型。

为此,我使用了自定义帖子类型UI插件:https://wordpress.org/plugins/custom-post-type-ui/ 我创建了一个支持自定义字段的新类型“电影”。我在帖子中添加了一个名为“发布日期”的自定义字段,但我找不到打印它的方法。

我使用以下代码显示我的帖子:

  <ul>

  <?php
  $args = array( 'post_type' => 'movies', 'posts_per_page' => 3 );
  $the_query = new WP_Query( $args );
  ?>
  <?php if ( $the_query->have_posts() ) { ?>
  <?php while ( $the_query->have_posts() ) { $the_query->the_post(); ?>

    <li class="news-item">
        <h3><?php the_title()?></h3>
        <h6><?php the_field('release_date')?></h6>
        <p><?php the_content()?></p>
    </li>
          <?php
      }
    }
    else {
      echo 'no movies here!';
    }
  ?>

  </ul>

但没有打印出来。但是,如果我删除了<h6><?php the_field('release_date')?></h6>其他一切正常。

我在这里做错了什么?

3 个答案:

答案 0 :(得分:0)

试试这个:(假设你没有使用ACF插件。)

$release_date = get_post_meta($post->ID, 'release_date', true);
if( $release_date ) {
    echo $release_date;
} else {
    echo "Error getting release date";
}

答案 1 :(得分:0)

点击how to get post meta field。你可以使用这样的东西

 <?php 
    $key_1_value = get_post_meta( get_the_ID(), 'release_date', true );
    // check if the custom field has a value
    if( ! empty( $key_1_value ) ) {
      echo $key_1_value;
    } else
   {

   echo "release date not present ";
   }
    ?>

答案 2 :(得分:-1)

为了更好的开发,我建议使用Advance自定义字段插件