WordPress主题TwentyTwelve列表页显示改为摘要

我有一个站点liangwendao.org采用了wordpress默认主题“TwentyTwelve”。但是这个主题除搜索页外,首页、分类页、标签页等列表,文章均以全文输出。这种显示方式对seo很不友好,因为列表页内容与文章页完全相同,页且同一篇文章会以在各种列表中重复显示,存在多个页面内容同质化的情况,这可能会导致搜索引擎不会继续索引文章页,从而影响整体的收录量。这就需要将列表页的本文显示改为摘要显示。

使列表页只显示文章摘要其实很简单。只需要针对主题模板content.php文件进行修改即可。

我们打开content.php文件,打到里面以下源码内容:

这段代码判断了:if ( is_search() )如果是搜索页,则显示文章摘要;else其它页则显示全文。

我们改一下判断条件:if ( is_single() || is_page() )如果是文章页或页面,则显示全文;else其它页则显示文章摘要。

修改后的代码如下:

上述的调整,主要涉及判断当前页面是什么。关于wordpress的主要页面判断相关函数介绍如下:

is_home() //首页
is_single() //文章页
is_page() //页面(如默认的示例页面;个人介绍页面等)
is_category() //文章分类列表
is_tag() //文章标签列表
is_archive() //归档页
is_404() //404页
is_search() //搜索结果列表
is_feed() //订阅页

如果在前面加上 ! 符,则表示“否定”,即 !is_home() 可以表示“非首页的其它页”。

如果是多个页面一起判断,则可以使用 || 表示或的关系; && 表示和的关系。

举例如下:
!is_home() //非首页的其它页
is_single() || is_page() //文章页或页面
!is_single() && !is_page() //除文章页和页面的其它页

综上介绍,其实我们也可以按下面的方法修改代码。

判断逻辑是:if ( !is_single() && !is_page() )如果不是文章页和页面,则显示摘要;else其它页则显示全文。

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证

发表评论

电子邮件地址不会被公开。 必填项已用*标注