如何在single.php中将非登录用户的精选图片链接到Wordpress上的页面?

时间:2018-08-27 16:05:38

标签: php wordpress

我想将wordpress的特色图片链接到single.php中非成员(非登录用户)的现有页面(仅用于帖子)。

尝试过此代码,但未成功:

<?php 
    if (has_post_thumbnail( $post->ID ) ) {
        <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'large' );
        $image = $image[0];
    }
?>

那么,如何将帖子中的所有特色图片链接到Wordpress上针对未登录用户(访问者)的一页? 注意:这适用于帖子内网站上的所有精选图片。

1 个答案:

答案 0 :(得分:1)

首先,您的代码遇到了一些问题,例如<?php标签内部 <?php标签,以及您正在简化速记的事实回声<?= $image ?><?php echo $image; ?>-为保持一致性,您应该坚持使用单一语法。

也就是说,您要做的就是使用is_user_logged_in()函数更改链接。现在,您已将链接设置为$image的值(我也将其缩短)。

如果用户登录,现在$link将被定义为get_the_post_thumbnail_url()返回的$image URL,否则它将被设置为https://example.com。请注意,该语法基本上是称为Ternary Operator的简写“ if else”语句-对于简单的“一个或另一个”类型变量定义非常方便。

<article <?php post_class('col-md-4 site-content'); ?>>
    <?php
        $image = get_the_post_thumbnail_url( $post->ID, 'large' );
        $link  = is_user_logged_in() ? $image : 'https://example.com/';
    ?>
    <a href="<?php echo $link; ?>" target="_blank">
        <div class="coupons-post" style="background-image: url('<?php echo $image; ?>')"></div>
    </a>
</article>