替换缩略图上的扩展名
Replace extension on thumbnails
我正在尝试在 wordpress 中做一些事情,默认情况下我使用的是 webp 图像,我成功地在 post 页面上使用了 the_content 过滤器,但没有在主页上的特色图像上使用。
这是我在 post 页上使用的代码;
<?php
add_filter('the_content', 'change_img', 99);
function change_img( $content )
{
return str_replace('.webp', '.jpg', $content);
} ?>
这是我用来在主页上显示精选图片的代码
<ul>
<?php $ksf = new WP_Query( 'posts_per_page=8' ); ?>
<?php while ($ksf -> have_posts()) : $ksf -> the_post(); ?>
<li>
<a href="<?php the_permalink() ?>">
<figure>
<?php if( !empty(get_the_post_thumbnail()) ) {
$feat_image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), "full", true);
?>
<img src="<?php echo (($feat_image[0]))?>" alt="<?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true ); ?>" width="750" height="422" />
<?php } ?>
<figcaption>
<?php the_title(); ?>
</figcaption>
</figure> </a>
</li>
<?php endwhile;
wp_reset_postdata(); ?></ul>
取决于您的主题。此代码适用于我的:
add_filter('post_thumbnail_html', 'change_img');
例如,以下代码在单个 post 页面或页面中隐藏 post 缩略图图像,但将它们保留在索引页面上:
function hide_thumbnail($html) {
if (is_single()) {
return '';
} else {
return $html;
}
}
add_filter('post_thumbnail_html', 'hide_thumbnail');
替换成这个;
<?php
add_filter('wp_get_attachment_image_src', 'change_img', 99);
function change_img( $image )
{
return str_replace('.webp', '.jpg', $image);
} ?>
我用你的代码测试了它。
我正在尝试在 wordpress 中做一些事情,默认情况下我使用的是 webp 图像,我成功地在 post 页面上使用了 the_content 过滤器,但没有在主页上的特色图像上使用。
这是我在 post 页上使用的代码;
<?php
add_filter('the_content', 'change_img', 99);
function change_img( $content )
{
return str_replace('.webp', '.jpg', $content);
} ?>
这是我用来在主页上显示精选图片的代码
<ul>
<?php $ksf = new WP_Query( 'posts_per_page=8' ); ?>
<?php while ($ksf -> have_posts()) : $ksf -> the_post(); ?>
<li>
<a href="<?php the_permalink() ?>">
<figure>
<?php if( !empty(get_the_post_thumbnail()) ) {
$feat_image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), "full", true);
?>
<img src="<?php echo (($feat_image[0]))?>" alt="<?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true ); ?>" width="750" height="422" />
<?php } ?>
<figcaption>
<?php the_title(); ?>
</figcaption>
</figure> </a>
</li>
<?php endwhile;
wp_reset_postdata(); ?></ul>
取决于您的主题。此代码适用于我的:
add_filter('post_thumbnail_html', 'change_img');
例如,以下代码在单个 post 页面或页面中隐藏 post 缩略图图像,但将它们保留在索引页面上:
function hide_thumbnail($html) {
if (is_single()) {
return '';
} else {
return $html;
}
}
add_filter('post_thumbnail_html', 'hide_thumbnail');
替换成这个;
<?php
add_filter('wp_get_attachment_image_src', 'change_img', 99);
function change_img( $image )
{
return str_replace('.webp', '.jpg', $image);
} ?>
我用你的代码测试了它。