admin 发表于 2022-1-30 15:02

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

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标签https://www.jinhei.com/data/attachment/forum/202201/30/145048q9unxdh6j955c9a9.jpg
<dt>关键词</dt>
                           <dd><input type="text" class="px p_fre" name="diy_keywords" value="$article" size="30" /></dd>
添加html标签后,在发布文章的页面,我们可以看到如下显示:
https://www.jinhei.com/data/attachment/forum/202201/30/145415ghbmehfhdkhkaaa9.jpg

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

'diy_keywords' => $_POST['diy_keywords'],四、以上操作完成后,通过测试,diy_keywords可以正常入库。五、接下来就是如何让发布后的文章在meta的keywords中如何显示刚才添加的diy_keywords,打开项目目录“/template/default/common”的header_common.htm,在meta的keyword上进行修改:<meta name="keywords" content="{if !empty($article)}{echo dhtmlspecialchars($article)}{elseif !empty($metakeywords)}{echo dhtmlspecialchars($metakeywords)}{/if}" />由于discuz的head是公用的一个模板,所以为了保持频道列表也能正常显示后台设置的keywod,我只增加了一个条件判断,不影响频道列表的keyword设置。
页: [1]
查看完整版本: discuz!x系列门户文章功能增加关键词自定义keywords字段