有的时候我们发布文件,会添加多个图片,但是怎么让未登录用户(游客)只能看到一张图片呢?用户登录后,可看到文章内所有的图片。那本文就介绍以下,修改文件代码,达到这个效果,从而可以引导用户注册。
第一步,在主题文件夹下的funtions.php(路径 /wp-content/themes/你的主题名/funtions.php)文件里添加以下代码(文件末尾)
function remove_extra_images_from_content() {
// 获取当前文章ID
$post_id = get_the_ID();
// 获取文章内容
$content = get_the_content();
// 匹配所有图片地址
preg_match_all('/<img.+?src=[\'"]([^\'"]+)[\'"].*?>/i', $content, $matches);
// 删除除第一张图片外的所有其他图片标签
if ( count($matches) > 0 && count($matches[0]) > 1 ) {
for ( $i = 1; $i < count($matches[0]); $i++ ) {
$content = str_replace($matches[0][$i], '', $content);
}
}
// 返回处理后的文章内容
return $content;
}
第二步 修改 主题文件夹下的 singe.php文件 (路径 /wp-content/themes/你的主题名/singe.php)
文件编辑器 查找
<?php the_content(); ?>
替换为以下代码 即可
<?php if ( ! is_user_logged_in() ) { echo remove_extra_images_from_content() ; } else { the_content(); } ?>
© 版权声明
THE END
暂无评论内容