wordpress 分类目录 分列的问题,由于分类目录过多,显得网站长长的一串,我想要凯蒂使它变成两列或三列显示。

WordPress 不同分类目录调用不同模板的方法
用wordpress做站特别是企业站的时候,多个分类的内容不同需要显示的页面也不一样,比如有些分类显示的是产品缩略图,有些显示的是公司新闻公告等,此时需要不同的分类模板,虽然wordpress默认只有一个通用的分类模板,但是可以通过函数代码实现不同的分类调用不同的模板。
实现WordPress不同分类调用不同模板的方法:
在当前WordPress主题的category.php文件中(没有就新建一个),添加以下判断代码:
$post = $wp_query-&post;
if(in_category('1')) {
include(TEMPLATEPATH.'/category-1.php');
else if (in_category('2')){
include(TEMPLATEPATH./'category-2.php');
include(TEMPLATEPATH.'/category-3.php');
该判断函数表示:判断分类ID是否为&1&,如果是,则调用category-1.php模板,如果分类ID是2则调用category-2.php模板,如果以上两者都不是则调用category-2.php模板
提醒:也可以用类似方法实现不同文章调用不同页面,不同归档调用不同页面等
注:相关网站建设技巧阅读请移步到频道。
看过本文的人还看过
最新图文推荐
最新专栏文章
大家感兴趣的内容
&&<a rel="nofollow" class="red" href="" target="_blank" color="red新版网站排行榜
===全新上线===
网友热评的文章您的位置:
wordpress教程:分类目录、标签丢失问题的解决方法
发布者: moke |
今天偶然注意到WordPress的分类和标签消失了,开始以为是数据库表损坏,于是通过PHPMyAdmin修复表,但是注意到修复表的过程中有一个错
误:Can't create/write to file
'/tmp/...,错误代码为13,基本上是因为没有权限导致的,由于这个要修复的表和分类标签表关系不大,于是没多想,只有上网搜索分类目录丢失的具
体原因。 网上遇到这个问题的大多数是因为临时文件夹满导致磁盘空间不足的原因,多数人通过清除临时文件夹的文件释放磁盘空间来解决了这个问题,但是我主机上临时文件夹/tmp是空的,而且磁盘空间也绰绰有余,不存在这类问题。 我注意到刚才修复表的错误,会不会是因为MySQL没有读写/tmp文件夹的权限?通过ls -l命令发现只有root有写权限,网上有建议新建一个临时目录,然后再修改配置文件的。 觉得麻烦,索性直接chmod 777 /tmp开放全部权限了,设置完成后,PHPMyAdmin可以正常修复表了,分类和标签也回来了。
本文地址:
文章标题:
最新分享资源
0102030405060708大家都知道,
有时候想对分类目录做一些seo关键字优化也是无从下手,虽然有很多插件可以实现,但是你懂的,插件安装太多,网站的速度会被拖慢,所以能不用插件的时候我都不用插件,好在wordpress扩展性很强,我们可以通过扩展来实现。
小伙伴们可以查看我的博客分类目录的标题、关键字和描述信息都是自定义的。
后台效果图就这样,下面来说说具体的实现。
第一步 新建seocategory.php文件
新建一个新建seocategory.php文件,将其放入你的主题文件夹内。
add_action('edit_category_form_fields', 'category_function');
function category_function(){
if(isset($_GET['action']) && $_GET['action'] == 'edit') $value = get_option('cat_set_' . $_GET['tag_ID']);
$title = 'cat_title';
$keywords = 'cat_keywords';
$description = 'cat_description';
&table class="form-table"&&/table&
&h2&自定义SEO信息&/h2&
&table class="form-table"&
&tr class="form-field"&
&th scope="row" valign="top"&&label for="&?php echo $title ?&"&标题&/label&&/th&
&td&&input name="&?php echo $title ?&" id="&?php echo $title ?&" type="text" value="&?php echo esc_attr(stripslashes($value['title']));
?&"&&p class="description"&默认调用分类名称作为Head中Title信息。&/p&
&tr class="form-field"&
&th scope="row" valign="top"&&label for="&?php echo $ ?&"&关键词&/label&&/th&
&td&&input name="&?php echo $ ?&" id="&?php echo $ ?&" type="text" value="&?php echo $value['keywords'];
?&"&&p class="description"&多个关键词用小写逗号&,&分隔开;默认调用分类名称作为Head中KeyWords信息。&/p&
&tr class="form-field"&
&th scope="row" valign="top"&&label for="&?php echo $ ?&"&描述&/label&&/th&
&td&&textarea name="&?php echo $ ?&" id="&?php echo $
?&" rows="3" cols="30"&&?php echo stripslashes($value['description']); ?&&/textarea&&p class="description"&若未设置,将显示为&关于&某某&分类下的所有文章。&作为Head中Description信息。&/p&
add_action('edit_category', 'save_category_function');
function save_category_function(){
if(isset($_POST['action']) && isset($_POST['taxonomy']) && $_POST['action'] == 'editedtag' && $_POST['taxonomy'] == 'category'){
update_option('cat_set_' . $_POST['tag_ID'], array('title' =& $_POST['cat_title'], 'description' =& $_POST['cat_description'], 'keywords' =& $_POST['cat_keywords'], 'template' =& $_POST['cat_template'], 'orderby' =& $_POST['cat_orderby'], 'per_page' =& $_POST['cat_per_page'],));
第二步 引入到functions.php
将seocategory.php引用到你主题的functions.php 文件中
include("seocategory.php");
第三步 前台调用
后台把相关信息添加好后,就需要到模板进行调用,使用方法如下。
if( is_category() ) {
$cat_id = get_query_var('cat');
$val = get_option("cat_set_$cat_id");
if(!Empty($val) && $val['title']!=''){
$title = $val['title'].' - '.get_bloginfo('name');
$title = single_cat_title('', false).' - '.get_bloginfo('name');
关键字获取
if( is_category() ) {
$cat_id = get_query_var('cat');
$val = get_option("cat_set_$cat_id");
if(!Empty($val) && $val['keywords']!=''){
$keywords = $val['keywords'];
$keywords = single_cat_title('', false);
if( is_category() ) {
$cat_id = get_query_var('cat');
$val = get_option("cat_set_$cat_id");
if(!Empty($val) && $val['description']!=''){
$description= $val['description'];
$description = $blog_name . "'" . single_cat_title('', false) . "'";
当然,每个主题有不同的优化方式,上面只是介绍了获取方式,你还需要把它插入到你的主题中去,每个主题对标题,关键字,描述有不同的写法,你需要做的就是把它整合到你的主题中去,下面是我所使用主题示例,供您参考。
//functions.php 文件添加到wp_head();
function page_title(){
global $page, $
$title = '';
if(get_option('themes_fo2_seo_ht') && get_option('themes_fo2_seo_on') && ( is_home() || is_front_page())){
$title = get_option('themes_fo2_seo_ht');
} elseif ( is_category() ) {
$cat_id = get_query_var('cat');
$val = get_option("cat_set_$cat_id");
if(!Empty($val) && $val['title']!=''){
$title = $val['title'].' - '.get_bloginfo('name');
$title = single_cat_title('', false).' - '.get_bloginfo('name');
$title = trim( wp_title('', false) ).' - '.get_bloginfo('name');
// Add a page number if necessary:
if ( $paged &= 2 || $page &= 2 )
$title .= ' - ' . sprintf( __( 'Page %s', 'frontopen' ), max( $paged, $page ) );
add_action('wp_head','page_title');
function page_keywords() {
global $s, $
$keywords = '';
if ( is_single() ) {
if ( get_the_tags( $post-&ID ) ) {
foreach ( get_the_tags( $post-&ID ) as $key =& $tag ){
$keywordsArr[$key]= $tag-&
$keywords = implode(',',$keywordsArr);
$keywords = trim( wp_title('', false) );
//foreach ( get_the_category( $post-&ID ) as $category ) $keywords .= $category-&cat_name . ', ';
//$keywords = substr_replace( $keywords , '' , -2);
} elseif ( is_home () ) { $keywords = get_option('themes_fo2_seo_hk');
} elseif ( is_tag() ) { $keywords = single_tag_title('', false);
//} elseif ( is_category() ) { $keywords = single_cat_title('', false);
} elseif ( is_category() ) {
$cat_id = get_query_var('cat');
$val = get_option("cat_set_$cat_id");
if(!Empty($val) && $val['keywords']!=''){
$keywords = $val['keywords'];
$keywords = single_cat_title('', false);
} elseif ( is_search() ) { $keywords = esc_html( $s, 1 );
} else { $keywords = trim( wp_title('', false) );
if ( $keywords ) {
echo "\n";
add_action('wp_head','page_keywords');
//网站描述
function page_description() {
global $s, $
$description = '';
$blog_name = get_bloginfo('name');
if ( is_singular() ) {
if( !empty( $post-&post_excerpt ) ) {
$text = $post-&post_
$text = $post-&post_
$description = trim( str_replace( array( "\r\n", "\r", "\n", " ", " "), " ", str_replace( "\"", "'", strip_tags( $text ) ) ) );
if ( !( $description ) ) $description = $blog_name . "-" . trim( wp_title('', false) );
} elseif ( is_home () ) { $description = get_option('themes_fo2_seo_hd');
} elseif ( is_tag() ) { $description = $blog_name . "'" . single_tag_title('', false) . "'";
//} elseif ( is_category() ) { $description = $blog_name . "'" . single_cat_title('', false) . "'";
} elseif ( is_category() ) {
$cat_id = get_query_var('cat');
$val = get_option("cat_set_$cat_id");
if(!Empty($val) && $val['description']!=''){
$description = $val['description'];
$description = $blog_name . "'" . single_cat_title('', false) . "'";
} elseif ( is_archive() ) { $description = $blog_name . "'" . trim( wp_title('', false) ) . "'";
} elseif ( is_search() ) { $description = $blog_name . ": '" . esc_html( $s, 1 ) . "' 的搜索結果";
} else { $description = $blog_name . "'" . trim( wp_title('', false) ) . "'";
$description = mb_substr( $description, 0, 220, 'utf-8' );
echo "\n";
add_action('wp_head','page_description');
这是我实现的为WordPress分类目录做优化,添加seo标题、关键字和描述信息的一个方法,小伙伴们如果您有更好的方法,或者此方法的有误,欢迎大家指正。
转载地址:
阅读(...) 评论() &
码农小兵官方博客通过修改css让wordpress分类目录双栏显示 - 博客心得 - 张自然个人博客
现在位置:
正文张自然个人博客猜您喜欢随便看看张自然个人博客
个人博客主要分类个人博客猜您喜欢如何去掉WordPress分类目录url链接中的category-马海祥博客
新型SEO思维就是从一个全新的层次上提升seo优化的水平,达到网络信息最佳化的展示效果!
> 如何去掉WordPress分类目录url链接中的category
如何去掉WordPress分类目录url链接中的category
时间:&&&文章来源:马海祥博客&&&访问次数:
今天有个博友说他博客用的是wordpress程序建的,可在添加分类目录的时候,每个栏目的二级目录都会自动加个category文件夹,问我该如何去掉?
相信有很多使用wordpress模板的博友,都会将文章的固定链接地址设置成/%category%/%post_id%.html这种形式,毕竟这种URL形式是最简化的静态地址,也最利于网站的优化,但不好的是,使用这种固定链接,分类页面就会多出一个category,会将我们的文章地址变成了4级目录了。
为了网站的seo效果,我们有必须要去掉category二级目录,降低目录的深度。对于去掉category的方法,马海祥在网上看到很多种技巧,那么今天我就把我在马海祥博客上实践过的方法给大家列举一下,然后分析一下利弊,以供各位博友参考。
1、修改固定链接设置
登录你的Wordpress后台,打开固定链接/永久链接设置项。在&可选设置&里的&分类地址前缀&里输入半角字符:&.&,如下图所示;保存后即可去掉分类前缀category。
优点:设置简单,老少皆宜。适用于初建成的博客,或刚打算使用固定链接 /永久链接的博客。用不着修改代码,升级之时没有顾虑;用不着插件,不会增加运行负担。
缺点:原链接无法打开,出现404错误。被搜索引擎收录良好,或分类链接有较多外链链入的博客,可要万分小心了。不要因为操作简单、省时省力而损失了大量外链及权重。
开启重写后,这样设置会导致分类和标签下找不到对应文章,所以最好还是只将其缩短。
2、借助Wordpress插件
(1)、使用插件&WP No Category Base&插件,在后台插件管理中搜索&WP No Category Base&(如下图所示),然后下载安装。此插件主要是为去除固定链接中分类链接里的category而开发出来的一款wordpress插件。安装启用此插件后,对原来的分类地址做了301跳转,对SEO优化有好处,把降权风险降到最低。
(2)、使用插件&No category parents&插件,在后台插件管理中搜索&No category parents&,然后下载安装。上面插件的升级版,不仅能去掉分类链接的前缀category,还能去掉父分类parent-category。例如能把&/category/parent-category/my-category/&换成&/my-category/&形式。
(3)、使用插件&Top Level Categories&插件。在后台插件管理中搜索&Top Level Categories&,然后下载安装。安装插件后启用Top Level Categories后,就可以让/category/消失掉。
优点:安装简单,老少皆宜。无论是初建成的博客,还是正打算使用固定链接/永久链接的博客,还是被搜索引擎收录良好的博客。用不着修改代码,升级之时没有顾虑。使用301跳转,把原链接进行跳转。最大程度防止搜索引擎降权,防止原链接打不开。
不足:插件或许会造成空间负担。这里不说是缺点,就是因为,造成的&空间负担&微乎其微,不应该是缺点。比较在意的就不用,无所谓推荐使用。
3、修改Wordpress函数
(1)、找到你Wordpress博客wp-includes文件夹下的category-template.php。
(2)、打开此文件,搜索(get_category_link()函数里)的以下代码:
$catlink = $wp_rewrite-&get_category_permastruct();
在其后,另起一行加入:
$catlink = str_replace(&#39;/category&#39; , &#39;&#39; , $catlink);
代码作用是,使用字符串替换函数,把获取分类链接函数的分类链接里的/category/替换掉。达到去掉分类链接前缀/category/的目的。
(3)、保存上传到服务器对应的文件夹内即可。
优点:仅加入一段代码,性能影响忽略不计。适用于对代码稍熟悉的博客。
缺点:修改代码,博客升级还要修改。且原地址仍可以访问。或会造成谷歌网站管理员工具里提到的,重复的标题。
本文为原创文章,如想转载,请注明原文网址摘自于/CMS/145.html,注明出处;否则,禁止转载;谢谢配合!
您可能还会对以下这些文章感兴趣!
今天早上我一如既往的打开电脑查找我所需要的资料,在使用360搜索时却发现个奇怪的现象,在通过360综合搜索……
今天一早打开网站就看到很多的圈内人士在网上讨论,说百度昨晚在搜索引擎搜索页面做出的一个小变化,在搜索……
百度百家的问题在于,它还基本上是从百度新闻首页倒流给作者,但随着作者越来越多,狼多肉少,显然并非长久……
搜索引擎Spider系统的目标就是发现并抓取互联网中一切有价值的网……
目前,在中国做seo的在大多数时候,我们都是以百度和Google作为……
链接也称超级链接,是指从一个网页指向一个目标的连接关系,而在……
为什么客户在打开网页之后很快关闭了页面?为什么我的网站停留时……
最近我在给公司的编辑和优化人员培训时,在讲到文章关键词的密度……
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否……
本月热点文章

我要回帖

更多关于 我想要的生活 的文章

 

随机推荐