公告
  
欢迎回来!目前网站流量日益增多服务器负载太大,迫不得已开启邀请码注册,此为赞助,所得费用来续费服务器,感谢支持

朕已阅

HadSky程序之我给网站帖子添加上OG标签

admin 绿软之家站长 关注 网站管理员 76级
发表于技术杂文版块

HadSky是什么?

HadSky是一款php轻论坛系统,本站现在的模样就是基于HadSky系统所搭建。


那么什么是OG标签?

OG标签是Open Graph Protocol的缩写,中文称为开放内容协议。它是一种由Facebook所定义和推广的元数据协议,用于在社交媒体上显示网页的预览内容。

OG标签允许网站管理员控制他们网站页面在Facebook、Twitter、LinkedIn等社交媒体上的展示形式,可以设置网页的标题、描述、图像、URL等元素。通过使用OG标签,网页可以成为一个“富媒体对象”,被其他社交媒体网站引用,并在分享时呈现吸引人的预览内容。OG标签的目的是提高网站在社交媒体上的曝光率和流量,以及方便搜索引擎进行分类索引,提高搜索结果的点击率。同时,OG标签也有助于将网络上的内容进行结构化、富媒体化,方便第三方调用显示。

目前,许多搜索引擎和第三方服务也支持OG标签,如Google、Bing、IMDb等。

Open Graph Protocol

那么正文开始

首先在几年之前小编我有幸接触到了HadSky,奈何HadSky的开发文档不怎么完善,于是我也是花了很多时间研究了一番,也是实现了很多HadSky本身没有的功能,但是我并没有一一记录下来,于是当我更新HadSky系统时,新版本一下就覆盖了整个HadSky系统,导致我当时也是瞎几把找,找到了相关代码,却又忘了备份,导致时间一久就忘记了,这就是一个非常头疼的问题。于是我打算一一在这里记录下来。方便我日后前来查看~


思路

如今HadSky已经进军V8后了,由于小编修改了HadSky系统中的大量代码所以一直以来不方便更新V8,这里就只能以V7亦作示范了。

1、首先打开根目录下phpscript文件夹中的“read.php”文件,在“read.php”中最底部添加以下代码

//获取文章图片
$_G['TEMP']['METAHTMLDY'] = '';
    $imgs = getHtmlImages($readdata['content'], 1);  
    $count = count($imgs);  
    if ($count) {  
        // 遍历图片数组,删除alt属性包含"emotion"的图片  
        $nonEmotionImgs = array();  
        foreach ($imgs as $img) {  
            if (strpos($img['alt'], 'emotion') === false) {  
                $nonEmotionImgs[] = $img;  
            }  
        }  
          
        $count = count($nonEmotionImgs); // 重新获取不含"emotion"图片的数量  
        if ($count) {  
            for ($i = 0; $i < $count; $i++) {
                $headerAddress = "https://www.lvruanhome.com/";
                if (strpos($nonEmotionImgs[$i]['src'], $headerAddress) !== 0) { 
                $readimgsurl = $headerAddress.$nonEmotionImgs[$i]['src'];
                } else {
                $readimgsurl = $nonEmotionImgs[$i]['src'];
            }
            }  
        }  else { 
            $readimgsurl = "https://www.lvruanhome.com/template/puyuetian_changable/img/error-img.png";
        }
    }  else { 
            $readimgsurl = "https://www.lvruanhome.com/template/puyuetian_changable/img/error-img.png";
        }
//获取标题和页数
$readtitle =  $title . (Cnum($_G['GET']['PAGE'], 1, true, 1) != 1 ? '-第' . Cnum($_G['GET']['PAGE'], 1, true, 1) . '页' : '');
//OG标签开始
$_G['TEMP']['METAHTMLDY'] .= '
		<meta property="og:type" content="bbs" />
		<meta property="og:image" content="' . $readimgsurl . '" />
		<meta property="og:release_date" content="' . date('Y-m-d H:i:s',$readdata['posttime']) . '" />
		<meta property="og:title" content="' . $readtitle . '" />
		<meta property="og:description" content="' . $_G['SET']['WEBDESCRIPTION'] . '" />
		<meta property="og:author" content="' . $readuserdata['nickname'] . '" />
		<meta property="og:bbs:replay" content="' . Cnum($readdata['fs']-1) . '" />';
这里的OG属性我是以360的智能摘要(http://www.so.com/help/help_3_9.html)中的论坛帖子为基准
2、最后一步来了,打开HadSky的默认模板目录(“../template/default”)找到“main.hst”文件

<head>
{$_G['TEMP']['METAHTMLDY']} 
</head>
{$_G['TEMP']['METAHTMLDY']} 添加到<head></head>之间,这样就大功告成了!

评论列表 评论
tina tina 普通会员 6级 2#
虽然不懂,但是一看到代码就觉得这也太强了吧emotion
共0条回复,点击查看回复
发布评论

评论: HadSky程序之我给网站帖子添加上OG标签

(5) 收藏文章
已有0次打赏