站长学院
CMS建站教程 SEO优化攻略
来源:齐鲁CMS 栏目:PHPCMS 阅读: 日期:2020-10-15
PHPCMS文章被删除时,如果文章里面有图片,会同步删除图片,这样可以减少网站空间的占用,不过同时存在的关键词却不能同步删除,这样时间久了势必会让数据库变得庞大,关键是TAG表会出现死链提示,今天齐鲁建站小编就来说说phpcms删除文章不能同步删除tag关键词v9_keyword的解决方法。
下面就来说下phpcms同步删除tag关键词v9_keyword的方法。两种方法。
注意,方法一最近已经失效,方法二继续有效!
方法一,直接上步骤:
打开文件phpcms\modules\content\content.php,找到delete(),大约在332行
也就是【删除全站搜索中数据$this->search_db->delete_search($typeid,$id);】,在其下面加入如下代码:
$keyword_db = pc_base::load_model('keyword_model');
$keyword_data_db = pc_base::load_model('keyword_data_model');
$k_r = $keyword_data_db->select(array('siteid'=>$siteid, 'contentid'=>$id.'-'.$modelid));
if($k_r) {
//更新关键词使用数量
foreach ($k_r as $k_v) {
$keyword_db->update(array('videonum'=>'-=1'), array('id'=>$k_v['tagid']));
}
//删除关键词关联数据
$keyword_data_db->delete(array('siteid'=>$siteid, 'contentid'=>$id.'-'.$modelid));
}
如图所示:
解析一下上面的代码:
$keyword_db->update(array('videonum'=>'-=1'), array('id'=>$k_v['tagid']));
这句是自动减少tag的使用数的目的
$keyword_data_db->delete(array('siteid'=>$siteid, 'contentid'=>$id.'-'.$modelid));
这句是删除相关关链TAG的目的
方法二,直接上步骤 (2020年10月16日亲测可用) :
第一步,打开文件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));
}
第二步,打开文件phpcms/modules/content/content.php
找到:
$this->comment->del($commentid, $siteid, $id, $catid);
在下面添加:
$this->keyword_db = pc_base::load_model('keyword_model');
$this->keyword_data_db = pc_base::load_model('keyword_data_model');
$keyword_all=$this->keyword_data_db->listinfo(array('contentid'=>$id.'-'.$modelid));
$this->keyword_data_db->delete(array('contentid'=>$id.'-'.$modelid));
foreach($keyword_all as $keyword_a){
$same_keyword=$this->keyword_data_db->listinfo(array('tagid'=>$keyword_a[tagid]));
if(empty($same_keyword)){
$this->keyword_db->delete(array('id'=>$keyword_a[tagid]));
}
}
如下图所示:
以上就是关于phpcms删除文章不能同步删除tag关键词v9_keyword的解决方法的所有内容,希望可以帮助到大家。
阅读本文的人还可以阅读: