从自定义帖子类型在模板中显示自定义字段

时间:2018-04-30 21:26:42

标签: php wordpress

通过从这里和那里拉出代码并将它们添加到functions.php中,学习如何手动添加自定义帖子类型和自定义字段而无需插件。以下是我将自定义字段添加到自定义帖子类型

的方法
function add_ads_meta_boxes() {
    add_meta_box("ads_contact_meta", "URL", "add_custom_ads_meta_box", "ads", "normal", "low");
}
function add_custom_ads_meta_box()
{
    global $post;
    $custom = get_post_custom( $post->ID );

    ?>
    <style>.width99 {width:99%;}</style>
    <p>
        <input type="text" name="link-url" value="<?= @$custom["link-url"][0] ?>" class="width99" />
    </p>
    <?php
}
function save_ads_custom_fields(){
  global $post;

  if ( $post )
  {
    update_post_meta($post->ID, "link-url", @$_POST["link-url"]);
  }
}
add_action( 'admin_init', 'add_ads_meta_boxes' );
add_action( 'save_post', 'save_ads_custom_fields' ); 

我可以在帖子类型中看到该字段,并保存添加的信息。现在,我将如何将其添加到网站

<div class="customadwrap">
<?php  $args = array( 'post_type' => 'ads');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
 ?>

<a href="<?php echo get_post_meta($post->ID, 'link-url', true); ?>"> 
 <?php the_title(); ?>
 </a>
 <?php 
endwhile;
 ?>
</div>

标题显示没有问题,但输入的网址不是。如何让fref工作?

1 个答案:

答案 0 :(得分:0)

在第二段代码中,将$post->ID替换为get_the_ID()