Wordpress:无法使用get_the_id()获得文章标签中的URL;

时间:2018-07-18 10:33:01

标签: php html wordpress

我有这个标记

                    <article id="post-<?php the_ID(); ?>" <?php post_class($masonry_item_sizing); ?> style="background: url("<?php echo get_post_meta(get_the_ID(), 'sponsors_logo_file_url', true); ?>")">

                        <div class="inner-wrap animated">
                            <div class="post-content">
                                <img src="<?php echo get_post_meta(get_the_ID(), 'sponsors_logo_file_url', true); ?>">
                                    <p><?php the_title(); ?></p>
                                    <p><?php echo get_post_meta(get_the_ID(), 'event_location', true); ?></p>
                                    <p><?php echo get_post_meta(get_the_ID(), 'event_date_time', true); ?></p>
                                <div class="post-meta <?php echo $extra_class; ?>">


                     </div><!--/post-meta-->


                    </div>
                    </div>
                   </article>

但是在article标签中,我可以通过以下这一行获取赞助商图片网址:

<?php echo get_post_meta(get_the_ID(), 'sponsors_logo_file_url', true); ?>

,但是稍后在article标签内,它可以正常工作,在这里:

<img src="<?php echo get_post_meta(get_the_ID(), 'sponsors_logo_file_url', true); ?>">

在此img标签中,它返回完整的图像url,在article标签中,它仅返回:“ http://example.com/events/”,而不是指向图像的直接链接。

为什么会发生这种情况,我该如何解决?

谢谢。

1 个答案:

答案 0 :(得分:0)

最好使用:

background-image: url() 

代替

background: url("")

最终代码:

<?php $bg = get_post_meta(get_the_ID(), 'sponsors_logo_file_url', true); ?><article id="post-<?php the_ID(); ?>" <?php post_class($masonry_item_sizing); ?> style="background-image: url(<?php echo $bg; ?>)">
<div class="inner-wrap animated">
    <div class="post-content">
        <img src="<?php echo $bg; ?>">
            <p><?php the_title(); ?></p>
            <p><?php echo get_post_meta(get_the_ID(), 'event_location', true); ?></p>
            <p><?php echo get_post_meta(get_the_ID(), 'event_date_time', true); ?></p>
        <div class="post-meta <?php echo $extra_class; ?>"></div><!--/post-meta-->
    </div>
</div>