WordPress 未登录用户(游客)只显示文章中一张图片 用于引导用户注册

有的时候我们发布文件,会添加多个图片,但是怎么让未登录用户(游客)只能看到一张图片呢?用户登录后,可看到文章内所有的图片。那本文就介绍以下,修改文件代码,达到这个效果,从而可以引导用户注册。

WordPress 未登录用户(游客)只显示文章中一张图片 用于引导用户注册

第一步,在主题文件夹下的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;
}
WordPress 未登录用户(游客)只显示文章中一张图片 用于引导用户注册

第二步 修改 主题文件夹下的 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(); } ?>
WordPress 未登录用户(游客)只显示文章中一张图片 用于引导用户注册

联系我们
文章看不懂?联系我们为您免费解答!免费助力个人,小企站点!
电话:020-2206-9892
QQ咨询:1025174874
邮件:info@361sale.com
工作时间:周一至周五,9:30-18:30,节假日休息
发布者:光子波动,转转请注明出处:https://www.361sale.com/7994/

(2)
上一篇 2024年 4月 16日 下午3:12
下一篇 2024年 4月 16日 下午3:52

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

020-2206-9892

QQ咨询:1025174874

邮件:info@361sale.com

工作时间:周一至周五,9:30-18:30,节假日休息

客服微信
购买我们的托管服务器,享受免费运维!