个人博客 > 学无止境 > PHP > PHPCMS删除文章后数据库中仍有删除文章中的关键词解决办法

PHPCMS删除文章后数据库中仍有删除文章中的关键词解决办法

博主发现之前发布的文章删除了之后,数据库的表字段中还是保存的有之前的文章中的关键词的,也就是删除文章并不能连带之前发布的文章的关键词一起删除,博主经过分析明白了,原来是程序在发布文章的那一刻文章就自动保存在了数据库的表中了,或者修改文章后,会重复在v9_keyword_data插入数据。那么该如何解决这个问题呢?

办法如下:

1、找到/phpcms/modules/content/fields/keyword/updata.inc.php中找到以下代码:

$keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid));

修改为:

if (!$keyword_data_db->get_one(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid))) {
    $keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid));
}

2、找到/phpcms/modules/content/content.php文件;搜索public function delete();在删除内容下面添加一下代码;

//删除关键字
$this->keyword_db = pc_base::load_model('keyword_model');
$this->keyword_data_db = pc_base::load_model('keyword_data_model');
$keyword_temp=$this->keyword_data_db->listinfo(array('contentid'=>$id.'-'.$modelid));
$this->keyword_data_db->delete(array('contentid'=>$id.'-'.$modelid));
foreach($keyword_temp as $one){
	$same_keyword=$this->keyword_data_db->listinfo(array('tagid'=>$one[tagid]));
	if(empty($same_keyword)){
		$this->keyword_db->delete(array('id'=>$one[tagid]));
	}
}

PHPCMS删除文章后数据库中仍有删除文章中的关键词解决办法

3、替换对应的文件,进入后台更新下网站缓存就可以了。

本文出自:琅枫个人博客。如需转载请注明出处!

本文出处:"https://www.phpfeng.cn/learn/php/130.html"

如果您觉得文章对你有帮助,可以进行打赏。
打赏多少,您高兴就行,谢谢您对琅枫博客的支持! ~(@^_^@)~

微信打赏

琅枫博客微信号

支付宝打赏

琅枫博客个人支付宝
本文关键词: 文章 关键词 办法



你想在庞大的互联网上留下一丝足迹?

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

点我了解如何搭建个人博客?