discuz!x系列门户文章功能增加关键词自定义keywords字段

[复制链接]
查看2200 | 回复0 | 2022-1-30 15:02 | 显示全部楼层 |阅读模式
discuz!x系列门户文章功能增加关键词自定义keywords字段
discuz的门户的“发布文章”功能中,没有自动添加keywords字段,结果在文章页面中的meta的keywords中只显示标题,这样对于seo及其不利,今天整理了添加keywords字段方法。
一、首先在数据中找到"XX_portal_article_title"表,XX是表的前缀,这个因人而异,是在安装discuz时设置的,在这个表中增加一个字段"diy_keywords",类型varchar(64),默认为空。
二、在项目的目录“/template/default/portal”找到模板portalcp_article.htm,打开模板后,找到如下这个位置,并添加html标签

  1. <dt>关键词</dt>
  2.                              <dd><input type="text" class="px p_fre" name="diy_keywords" value="$article[diy_keywords]" size="30" /></dd>
复制代码

添加html标签后,在发布文章的页面,我们可以看到如下显示:


三、模板中的表单字段添加完毕后,我们需要做入库操作了。在项目目录的“/source/include/portalcp”下找到portalcp_article.php,在文件的中找到$setarr数组,增加一个变量如下图,增加这个变量后,发文和编辑文章的功能中diy_keywrods都能正常入库


  1. 'diy_keywords' => $_POST['diy_keywords'],
复制代码
四、以上操作完成后,通过测试,diy_keywords可以正常入库。
五、接下来就是如何让发布后的文章在meta的keywords中如何显示刚才添加的diy_keywords,打开项目目录“/template/default/common”的header_common.htm,
在meta的keyword上进行修改:
  1. <meta name="keywords" content="{if !empty($article[diy_keywords])}{echo dhtmlspecialchars($article[diy_keywords])}{elseif !empty($metakeywords)}{echo dhtmlspecialchars($metakeywords)}{/if}" />
复制代码
由于discuz的head是公用的一个模板,所以为了保持频道列表也能正常显示后台设置的keywod,我只增加了一个条件判断,不影响频道列表的keyword设置。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-4-16