今天在群里说要分享的内链修改代码,我来履行承诺了。

三叔
三叔 http://www.sanshu.cn

5 人点赞了该文章 · 3149 浏览

效果如  http://www.sanshu.cn/a/38.html
QQ截图20170107123249.png
内链是很多 站长都重视的一个SEO的步骤,不光可以引导蜘蛛去抓取,也能在别人采集你网站内容的时候带上你的链接。 本修改支持分类或话题或分类加话题的内链。大家可以自己选择。建议大家别用分类加话题 因为处理效率比前面2者的要慢 一倍。   好了开始上代码了: 首先需要增加一个model 类。 取名为:innerlink.php 放在网站根目录的/model下
<?php
/*
+--------------------------------------------------------------------------
|   WeCenter [#RELEASE_VERSION#]
|   ========================================
|   by WeCenter Software
|   © 2011 - 2014 WeCenter. All Rights Reserved
|   http://www.wecenter.com
|   ========================================
|   Support: WeCenter@qq.com
|
+---------------------------------------------------------------------------
*/


if (!defined('IN_ANWSION'))
{
	die;
}


class innerlink_class extends AWS_MODEL
{
	public function get_category_topic_list($type=1)
	{
		
		$result_cache_key = 'get_category_tag_list'.$type;
	//	AWS_APP::cache()->delete($result_cache_key);
		if ($result = AWS_APP::cache()->get($result_cache_key)){
			return $result;
		}
		switch($type){
			case 1:
				$sql = "SELECT `id` ,`title`,'c' as t  FROM   ".get_table('category');
				break;
			case 2:
				$sql = " SELECT `topic_id` id  ,`topic_title` title,'t' as t  FROM ".get_table('topic');
				break;
			default:
				$sql = "SELECT `id` ,`title`,'c'  as t   FROM ".get_table('category')." union SELECT `topic_id` id  ,`topic_title` title,'t'  as t   FROM ".get_table('topic');	
		}
		
		if ($result = $this->query_all($sql))
		{
			$filter = array('href','ref','ef','f');
			$i=0;
			foreach($result as $r) {
				if(in_array($r['title'],$filter))continue;
				$resulta[$r['title']]['id'] = $r['id'];
				$resulta[$r['title']]['title'] = $r['title'];
				$resulta[$r['title']]['t'] = $r['t'];
			}
			AWS_APP::cache()->set($result_cache_key, $resulta, get_setting('cache_level_high'));
			return $resulta;
		}else{
			return null;
		}
		
	}
}
第二步 修改 app/article/main.php  搜索代码  $article_info['user_info'] = $this->model('account')->get_user_info_by_uid($article_info['uid'], true);  在 这个下面写
$content = $article_info['message'];
			$res = $this->model('innerlink')->get_category_topic_list(1);
			//print_r($res);
			foreach($res  AS $r) {
				$id = $r['id'];
				$title = $r['title'];
				 if($r['t']=='c'){
				 	$content = str_replace($title,"$title",$content);
				 }else{
				 	$content = str_replace($title,"$title",$content);
				 }
			}
			
			$article_info['message'] = $content;
然后就好啦。 ps:只考虑到了功能实现,代码写的不算太好,加上自己又是半吊子的php程序员,大家见谅哈。

发布于 2017-01-07 11:58

免责声明:

本文由 三叔 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

Winds
2017-05-08 09:46
还没用,先留个脚印,另外谢谢无私分享
有生之年
2017-03-15 20:07
你好。article里内链可以了。请问下question内链怎么实现呢
buffonly
2017-01-19 19:11
不错啊,测试一下
net
2017-01-18 21:39
就是,我现在是有一个内链,怎么再加上你这个代码,直接使用,代码如我贴出来的
三叔
2017-01-18 20:26
额 innerlink的代码 我不清楚
net
2017-01-18 15:02
帮忙看看
net
2017-01-18 15:02
@三叔 帮忙看看
net
2017-01-18 15:01
感谢分享 我现在已经有innerlink了,怎么在这个基础上加上你的这个代码整合起来, 我的源代码如下: $innerlink = $this->model('innerlink')->all_innerlink(); if($innerlink){ $last_id = $this->model('innerlink')->get_last_link_id(); for($i=0;$i<$last_id;$i++) { $title[$i] = $innerlink[$i]['title']; $link[$i] = '<a href='.$innerlink[$i]['description'].' target="_blank">'.$innerlink[$i]['title'].'</a>'; $article_info['message'] = $this->model('innerlink')->str_replace_once($title[$i],$link[$i],$article_info['message']); } //$res = $this->model('innerlink')->str_replace_once($title,$link,$article_info['message']); //$article_info['message'] = $res; }
roger
2017-01-10 14:52
加油 其实你可以做很多有意思的插件卖
三叔
2017-01-09 09:05
嘿嘿 就你一个人回复,对我已经是莫大的支持了。