ZBLOG PHP主题设置自定义SEO要素字段 - 标题/关键字/描述

2021-12-27 11:22:13 浏览数 (1)

我们有些网友在使用ZBLOG PHP程序的时候是否有看到大部分的主题是自动获取当前文章标题、关键字和描述的,但是有些朋友对于SEO比较认真,希望类似WP程序的有些插件和功能一样实现自定义设置每一篇文章的标题、关键字和描述,那我们需要对ZBLOG PHP程序主题进行改造。

老蒋有在"ZBLOG PHP不用插件实现自定义文章字段功能"文章中提到可以自定义字段到文章发布编辑器的,我们可以效仿这个办法添加三个字段,然后在主题HEADER部分进行调用即可。同时,我们也可以使用老白的办法进行改造,这里我们来看看他的办法。

1、定义函数

代码语言:javascript复制
function ydmao_cate_seo(){
    global $zbp,$cate;
 echo '<div id="alias" class="editmod">
       <span class="title">当前分类标题、关键词、描述<font color="#FF0000">(不填写则按主题默认显示)</font></span><br />
       <strong>标题</strong><br>
       <input type="text" style="width:75%;" name="meta_ydmao_catetitle" value="'.htmlspecialchars($cate->Metas->ydmao_catetitle).'"/><br>
       <strong>关键词</strong><br>
       <input type="text" style="width:75%;" name="meta_ydmao_catekeywords" value="'.htmlspecialchars($cate->Metas->ydmao_catekeywords).'"/><br>
       <strong>描述</strong><br>
       <input type="text" style="width:75%;" name="meta_ydmao_catemiaoshu" value="'.htmlspecialchars($cate->Metas->ydmao_catemiaoshu).'"/>
       </div>';
}

我们定义好之后还需要挂载出来:

代码语言:javascript复制
Add_Filter_Plugin('Filter_Plugin_Category_Edit_Response','ydmao_cate_seo');//分类自定义字段

2、在头部修改

代码语言:javascript复制
{if $type=='category'} <!-- 判断在分类页面时候 -->

<title>{if $category->Metas->ydmao_catetitle}{$category.Metas.ydmao_catetitle}{else}{$title}_{$name}{if $page>'1'}_第{$pagebar.PageNow}页{/if}{/if}</title>

<meta name="Keywords" content="{if $category->Metas->ydmao_catekeywords}{$category.Metas.ydmao_catekeywords}{else}{$title},{$name}{/if}" />

<meta name="description" content="{if $category->Metas->ydmao_catemiaoshu}{$category.Metas.ydmao_catemiaoshu}{else}{$category.Intro}_{$name}{if $page>'1'}_当前是第{$pagebar.PageNow}页{/if}{/if}" />
{else}
这里是zblog模板原有的标题关键词描述等代码
{/if}

这里我们将头部调用出来。

3、将tag也加入SEO功能

代码语言:javascript复制
//tag SEO

function ydmao_tag_seo(){

    global $zbp,$tag;

 echo '<div id="alias" class="editmod">

       <span class="title">当前TAG标题、关键词、描述<font color="#FF0000">(不填写则按主题默认显示,注:此功能为当前模板自带)</font></span><br />

       <strong>标题</strong><br>

       <input type="text" style="width:75%;" name="meta_ydmao_tagtitle" value="'.htmlspecialchars($tag->Metas->ydmao_tagtitle).'"/><br>

       <strong>关键词</strong><br>

       <input type="text" style="width:75%;" name="meta_ydmao_tagkeywords" value="'.htmlspecialchars($tag->Metas->ydmao_tagkeywords).'"/><br>

       <strong>描述</strong><br>

       <input type="text" style="width:75%;" name="meta_ydmao_tagmiaoshu" value="'.htmlspecialchars($tag->Metas->ydmao_tagmiaoshu).'"/>

       </div>';

}

挂载出来:

代码语言:javascript复制
Add_Filter_Plugin('Filter_Plugin_Tag_Edit_Response','ydmao_tag_seo');//tag自定义字段

4、然后模板修改

代码语言:javascript复制
{if $type=='tag'}

<title>{if $tag->Metas->ydmao_tagtitle}{$tag.Metas.ydmao_tagtitle}{if $page>'1'}_第{$pagebar.PageNow}页{/if}{else}{$tag.Name}_{$name}{if $page>'1'}_第{$pagebar.PageNow}页{/if}_{$subname}{/if}</title>

<meta name="Keywords" content="{if $tag->Metas->ydmao_tagkeywords}{$tag.Metas.ydmao_tagkeywords}{else}{$tag.Name}{/if}">

{if $tag.Intro || $tag->Metas->ydmao_tagmiaoshu}<meta name="description" content="{if $tag->Metas->ydmao_tagmiaoshu}{$tag.Metas.ydmao_tagmiaoshu}{else}{$tag.Intro}{/if}">{/if}

{/if}

根据实际模板的情况,我们需要修改成符合自己当前主题的ID,以及函数对应。

参考文章:

1、https://cloud.tencent.com/developer/article/1925285

2、http://www.yzktw.com.cn/post/75.html

本文出处:老蒋部落 » ZBLOG PHP主题设置自定义SEO要素字段 - 标题/关键字/描述 | 欢迎分享

0 人点赞