WordPress SEO优化首页文章显示。之前烨晟网络介绍过如何在首页文章列表中不显示某个分类的文章,参见文章《指定栏目文章不在WordPress首页显示》,但是这样做指定栏目会占用首页显示的文章数,从而导致文章列表数量的变化。今天,烨晟网络( www.yeshengweb.com )分享的内容为《WordPress SEO(WordPress首页只显示某个分类的文章)》,本方法并不会对文章列表数量产生影响。希望对大家有所帮助。

一、WordPress插件源码

wordpress首页只显示某个分类的文章/插件实现(完美实现)

——————————————–插件源码—————————————————————-

<?php
/*
Plugin Name: Front Page Included-only Categories
Version: 0.2
Plugin URI:
Description: This version uses a comma separated list of *included* category ids.
Author: fengyqf
Author URI: http://www.path8.net/
*/

function fpe_where($where) {
// Change the $cats_to_include string to the category id you do not want to appear on the front page.
// Example:  $cats_to_include = ‘1, 2, 3, 4’;
$cats_to_include = ’22, 26′;

global $wpdb, $wp_query;

if (! $wp_query->is_home || strlen($cats_to_include) == 0) {
return $where;
}

if (empty($wpdb->term_relationships))
{
$where .= ” AND $wpdb->post2cat.category_id IN (” . $cats_to_include . “)”;
}
else
{
$where .= ” AND $wpdb->term_taxonomy.term_id IN (” . $cats_to_include . “)”;
}
return $where;
}

function fpe_join($join) {
global $wpdb, $wp_query;

if (!$wp_query->is_home) {
return $join;
}
if (empty($wpdb->term_relationships))
{
$join .= ” LEFT JOIN $wpdb->post2cat ON $wpdb->post2cat.post_id = $wpdb->posts.ID “;
}
else
{
if (!preg_match(“/$wpdb->term_relationships/i”,$join))
{
$join .=” LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) “;
}
if (!preg_match(“/$wpdb->term_taxonomy/i”,$join))
{
$join .=” LEFT JOIN $wpdb->term_taxonomy ON $wpdb->term_taxonomy.term_taxonomy_id = $wpdb->term_relationships.term_taxonomy_id”;
}
}
return $join;
}

function fpe_distinct($distinct) {
global  $wp_query;

if (! $wp_query->is_home ) {
return $distinct;
}
return “distinct”;
}

add_filter(‘posts_join’, ‘fpe_join’);
add_filter(‘posts_where’, ‘fpe_where’);
add_filter(‘posts_distinct’, ‘fpe_distinct’);

?>

—————————————–插件源码 end——————————————————————-

二、插件使用方法

1. 安装,就是wordpress插件安装,这里就不用说了。

2. 配置,该插件没有管理界面,直接编辑源代码进行配置,需要编辑修改的只有如下的一行。

$cats_to_include = ’22, 26′;

该行在上面源码中已经标红,等号右边是一个引号括起来的以逗号分隔的数字,可以有一个或者多个,我在这里配置了两个22与26。数字即是需要显示在首页分类的id编号,该数字可以在wordpress后台的编辑“文章分类目录”、编辑分类时,在浏览器地址栏url里查看到。

三、插件原理

只要简单的懂得一点php/mysql程序知识,比较一个这里的代码与Front Page Excluded Categories的差异部分(上面代码里已经标绿)就明白了。

三、插件下载

front-page-included-categories

四、烨晟网络实操说明

这个插件在下载安装完成之后,并没有设置的选项,只能到插件里面去编辑,可以在WordPress后台找到插件并编辑,也可以直接找到该文件进行编辑,烨晟网络这里演示的是宝塔面板编辑这个插件的源代码来实现只显示某个分类的文章,直接修改为指定的栏目id即可。

WordPress SEO

原文地址:http://www.path8.net/tn/archives/2641

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。