php - 包含指向 sprintf 图像的链接
问题描述
我正在使用以下代码输出与 Wordpress 帖子相关的图像:
if ( $cover ) :
return sprintf(
'<img src="%1$s">',
$cover
);
endif;
这确实输出了所需的图像,但我需要它是可点击的,以使用以下方式完整显示图像:
<a href="<?php echo esc_url( $cover( 'medium_large' ) ) ?>">
请有人建议我如何将两者结合在一起?
谢谢。
解决方案
所以,我不知道你的代码做了什么,或者变量是如何定义的,但这会产生你想要的输出:
function cover($cover = '') {
if ( '' !== $cover ) :
return sprintf(
'<a href="%1$s"><img src="%1$s"></a>',
$cover
);
endif;
}
echo cover('/path/to/my/image.png');
以上将输出以下代码:
<a href="/path/to/my/image.png">
<img src="/path/to/my/image.png">
</a>
请记住,我确实假设您已经知道如何获取帖子封面图片 URL,这就是为什么我让函数只接受封面图片 URL。
更新#1
如果您想在单击链接时显示不同尺寸的图像,您可以执行以下操作:
function cover($cover_link = '', $cover_img = '') {
if ( '' !== $cover ) :
return sprintf(
'<a href="%1$s"><img src="%2$s"></a>',
$cover_link,
$cover_img
);
endif;
}
然后使用cover
WordPress 循环中的函数,如下所示:
if ( have_posts() ) {
while( have_posts() ) {
the_post();
// ... HTML or PHP Code you need for your loop
$cover_link = get_the_post_thumbnail_url(get_the_ID(), 'full');
$cover_img = get_the_post_thumbnail_url(get_the_ID(), 'post-thumbnail');
if ( $cover_link && $cover_img ) {
echo cover($cover_link, $cover_img);
}
// ... HTML or PHP Code you need for your loop
}
}
更新#2
在上面的示例中,我使用了图像大小full
和post-thumbnail
. 如果您需要为上传的图像设置自定义尺寸,您可以在functions.php
代码中使用,如下所示:
add_image_size( 'my_big_image_size', 1000, 1000, true);
add_image_size( 'my_small_image_size', 500, 500, true);
然后,在循环内,您可以更改以下代码:
$cover_link = get_the_post_thumbnail_url(get_the_ID(), 'full');
$cover_img = get_the_post_thumbnail_url(get_the_ID(), 'post-thumbnail');
对此:
$cover_link = get_the_post_thumbnail_url(get_the_ID(), 'my_big_image_size');
$cover_img = get_the_post_thumbnail_url(get_the_ID(), 'my_small_image_size');
推荐阅读
- powershell - Powershell 通过 ObjectID 使用 add-azureadgroupmember 将设备添加到组
- html - HTML 按钮溢出
- c# - PDFsharp - 尝试为我刚刚与页面链接合并的所有文件制作目录
- excel - 如何遍历表格并将电子邮件发送给相应的用户
- reactjs - 尝试导入错误:“网格”未从“react-bootstrap”导出
- excel - 如何找到两个日期之间的值?
- python - Django TypeError: __init__() 得到了一个意外的关键字参数 'attrs'
- entity-relationship - 现在不知道
- c# - 如果 ViewBag.Elements 为空,则 MVC 重定向
- apache-kafka - 如何获取Kafka主题的序列化格式?