我可以在get_the_ID()中使用变量作为参数吗?

时间:2014-03-26 17:52:44

标签: php wordpress

注意:我仍然是PHP和WordPress的初学者,所以如果我离开的话,请道歉。

我正在尝试从“视频”帖子格式回显最新帖子中的自定义字段值,但由于某种原因,$video_url正在输出一个空字符串。我认为它与下面的这一行有关:

$video_url = htmlspecialchars(get_post_meta(get_the_ID($latest_video_id), 'dt_video', true));

我不确定我是否可以在get_the_ID()中使用变量作为参数。

以下是完整代码:

<?php   
    $args = array( 
        'numberposts' => '1', 
        'tax_query' => array(
            array(
                'taxonomy' => 'post_format',
                'field' => 'slug',
                'terms' => 'post-format-video'
            )
        ),
        'meta_query' => array(
            array(
                'key' => 'dt_video',
                'value' => '',
                'compare' => '!='
            )
        )
    );
    $latest_video = wp_get_recent_posts($args); // Get latest video in 'video' post format
    $latest_video_id = $latest_video['0']['ID']; // Get latest video ID
    $video_url = htmlspecialchars(get_post_meta(get_the_ID($latest_video_id), 'dt_video', true));
    echo '<iframe width="180" height="101" src="'.$video_url.'?rel=0" frameborder="0" allowfullscreen></iframe>';
?>

2 个答案:

答案 0 :(得分:1)

当你进入循环时,get_the_ID()会返回当前帖子的id。不接受任何参数。

你已经在var $ latest_video_id中拥有了视频帖子的ID,所以你可以简单地做到

$video_url = htmlspecialchars(get_post_meta($latest_video_id, 'dt_video', true));
祝你好运。

答案 1 :(得分:0)

只要它返回一些东西,你总能使用一个参数。如果它不起作用,您应该收到某种类型的错误。

示例:

function getId()
{
  return 1;
}
function showId($id)
{
  return $id;
}
echo showId(getId());

结果:1​​