当前位置:首页 » 建站技巧 » 正文

Zblog文章tag自动内链,zblog文章内链怎么设置?

253 人参与  2020年01月11日 20:51  分类 : 建站技巧  评论

用途:  类似百度百科,使文章内容信息更丰富;标签内链可以让蜘蛛更好的抓取和收录标签,并有可能抓取该标签下的文章页面,提升整站抓取量。

教程:

主题文件main.php添加以下内容:

PHP
if(isset($_POST['tags'])){
  $zbp->Config("主题ID")->OpenInLink=GetVars('OpenInLink','POST');
  $zbp->SaveConfig('主题ID');
  $zbp->ShowHint('good');}
PHP
<?php
  }
  if ($act == 'tags'){?><form id="form1" name="form1" method="post"><table width="100%" style='padding:0;margin:0;' cellspacing='0' cellpadding='0' class="tableBorder">
    <tr>
        <th width="15%"><p align="center">配置名称</p></th>
        <th width="50%"><p align="center">配置内容</p></th>
        <th width="25%"><p align="center">配置说明</p></th>
    </tr>
    <tr>
        <td width="450px"><p align="center">开启标签内链</p></td>
        <td><p align="center"><label onclick="$('#ZC_BLOG_HOST').prop('readonly', $('#ZC_PERMANENT_DOMAIN_ENABLE').val()==0?true:false);"><input type="text" id="ZC_PERMANENT_DOMAIN_ENABLE" name="OpenInLink" class="checkbox" value="<?php echo $zbp->Config('主题ID')->OpenInLink?$zbp->Config('主题ID')->OpenInLink:"0";?>"/></label></p></td>
							<?php if (function_exists('CheckIsRefererValid')) {echo '<input type="hidden" name="csrfToken" value="' . $zbp->GetCSRFToken() . '">';}?>
		<td><p align="left">本主题支持文章自动标签内链,如果你安装了类似“标签自动内链”插件后产生冲突,请关闭此开关即可!</p></td>
    </tr>
    <tr>
        <td colspan="4"><input name="" type="Submit" class="button" value="保存"/></td>
    </tr></table>

主题文件include.php添加以下内容:

PHP
function ActivePlugin_主题ID(){}下面的这行代码需要加在zblog主题include.php文件里上面{ }内,主题ID修改成当前主题的ID(别名)。Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','主题ID_SetInLinks');
PHP
/*文章标签内链*/function 主题ID_SetInLinks(&$t){
    global $zbp;
    if($zbp->Config('主题ID')->OpenInLink==1)
    {
        $article=$t->GetTags('article');
        if(count($article)>0)
        {
            $content=$article->Content;
            $allTags=$zbp->GetTagList(null, null, array('LENGTH(tag_Name)' => 'DESC'), null, null);
            foreach ($allTags as $inlink)
            {
                $error_name=array('(',')','|','[','<','^','\\');
                $error_t=false;
                foreach ($error_name as $e)
                {
                    if(strpos($inlink->Name,$e))
                    {
                        $error_t=true;
                        break;
                    }
                }

                if ($error_t==true)
                {
                    continue;
                }

                $content=preg_replace('/(?!((<.*?)|(<a.*?)))('.$inlink->Name.')(?!(([^<>]*?)>)|([^>]*?<\/a>))/i','<a target="_blank" href="'.$inlink->Url.'" style="text-decoration: none;">'.$inlink->Name.'</a>',$content,1);//color:'.$zbp->Config('主题ID')->TagsStyle.'

            }
            $article->Content=$content;
            $t->SetTags('article',$article);
        }
    }}

小伙伴们觉得麻烦 可以直接用插件:文章标签(Tag)自动内链插件

转载:爱站云

来源:壹世博客(微信/QQ号:2336957694),转载请保留出处和链接!

本文链接:http://www.ym-ym.com/153.html

本文标签:

<< 上一篇 下一篇 >>

  • 评论(0)
  • 相关文章

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

热门文章

热评文章

全国SEO经典案例

跟随标题

    内容的形式各种各样,可以是文本,也可以是各种广告等。

Copyright Your WebSite.Some Rights Reserved.备案号:冀ICP备19016991号-2