RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
WP主题开发19:如何让不同页面的头部显示不同的
  • 作者:admin
  • 发表时间:2020-06-30 17:27
  • 来源:互联网

通过前面章节的介绍,我们基本上完成了wordpress主题trans的动态模板的编写。我们创建了首页模板、列表页模板、文章页模板、搜索页模板,以及公共模板头部模板、底部模板和侧边栏模板。我们还为trans主题添加了一个后台的主题设置页面,使用trans主题的功能更加完善和友好。但是,我们又发现一个小问题——在前台网页的源代码中,所有页面都显示的是同样的关键词和描述(如下图),都是我们在后台的主题设置里设置的数据,这就不合理了,不同的页面应该显示不同的关键词和描述,因为表达的中心主题是不一样的。那么,怎样让wordpress主题不同的页面调用不同的关键词和描述呢?

meta name=keywords content= ?php echo get_option(keywords ? meta name=description content= ?php echo get_option(description ?

我们可以看出,它们只是通过 get_option()函数调用了wp-options数据表里的数据,也就是我们在后台的主题设置里设置的网站关键词和描述。我们需要对它们进行修改。

为了让不同的页面获取到不同的关键词和描述,我们需要在这里做一下判断:如果是首页,就调用后台主题设置里的数据;如果是列表页,就调用列表页自己的关键词和描述;如果是文章页,就调用文章页自己的数据。嗯,我们在上面的关键词和描述的代码前面添加如下代码:

?php if (is_home()){ //如果是首页$description = get_option('description');$keywords = get_option('keywords');}elseif (is_category()){ //如果是列表页$description = category_description();$keywords = single_cat_title('', false); }elseif (is_single()||is_page()){//如果是文章页或单页面if ($post-post_excerpt){ //如果在文章编辑时添加了描述$description = $post-post_excerpt; //就调用添加的描述}else { //否则就截取文章内容的400个字符,作为描述$description = substr(strip_tags($post-post_content),0,400);}$keywords = $tags = wp_get_post_tags($post- //获取文章的标签foreach ($tags as $tag ){ //把标签循环赋值给关键词$keywords = $keywords . $tag-name . , }}?

is_home():判断是不是网站的首页;is_category():判断是不是列表页;is_single():判断是不是文章页;is_page():判断是不是page单页面;category_description():获取列表页的描述;single_cat_title():获取列表页的标题;wp_get_post_tags():获取文章页的tag标签;

通过第二步的代码,我们获取到了不同页面的关键词和描述数据,并且把关键词数据赋值给了变量$keywords,把描述数据赋值给了变量$description。这时,我们只需把原 head头部的关键词和描述替换成这2个变量就可以了,替换后台的代码如下:

meta name=keywords content=?php echo $keywords; ? meta name=description content=?php echo $description; ?

好了,通过上面的三步,我们就让wordpress主题trans的不同页面,显示不同的关键词和描述,这样,虽然前台用户看不到什么,但是搜索引擎会看到,我们做这个,主要是给搜索引擎看的,这样有利于SEO优化。我们在搜索引擎里搜索相关内容时,我们也可以在搜索到的结果中看到这些数据。