很多时候换了wp空间以后。全部都改好了以后,再打开一个自己的站发现出现了pluggable.php on line 866这个问题,上次好像就有出现这样的问题,记得上次还是有这样的情况,没想到又碰到了,这次找到了这个给保留一份在这里,以后自己可能还会用得上。。。。
使用wordpress的朋友很多在更换linux空间后,登陆后台时出现pluggable.php on line 866错误,原因出在wp-config.php文件,一般情况下,wp-config.php是自动生成的,更换空间的时候会更改wp-config.php中的数据库设置,在更改上传后,wp-config.php文件会莫名其妙的在
解决方法:进入ftp把wp-config.php文件删除,然后进入http://网址/wp-admin/install.php,重新安装配置即可,由于已经有了数据存在,所以此安装只是生成wp-config.php文件,不会对数据库进行修改。OK。这次做个记录。下次可以记录。。
wordpress如果做为企业或产品站,经常要用到联系表单或下定单。联系表单模版,也就是集成一个可以在博客页面直接发送电子邮件与博主进行电邮联系,而不需要登录邮箱,方便快捷。
联系表单模板补丁使用方法:
1.解压下载的压缩包,分别将:
contact.php 上传到主题根目录
form.php 上传到主题includes目录(注:上传前需打开该模版文件,将第一行的电邮地址改为自己的)
muscript.js 上传到主题js目录
2.打开header.php在〈/head〉上面添加:
3.新建一个页面,名称任意,比如:联系我,右下模板属性→模版→选择“联系方式”模版,发表即可。
4.可以通过WP菜单功能将新建的联系表单页面加到导航菜单中,发个电邮试试吧。
模版下载 contacttemplate
都说wordpress很强大,但似乎也不是万能的吧。也观察了不少的wordpress博客,外观上做的有特色的,不是特别多,至少就CMS主题来说。要随意做分类不同的子还真麻烦.上一篇文章WordPress模版调用的PHP代码总有些不足.下面补充一下.
一、不同分类调用不同模板
<?php
$post = $wp_query->post;
if ( in_category(‘7′) ) {
include(TEMPLATEPATH . ‘/archive-view.php’);
}
else if ( in_category(‘12′) ) {
include(TEMPLATEPATH . ‘/single12.php’);
}
else if ( in_category(‘42′) ) {
include(TEMPLATEPATH . ‘/single42.php’);
}
else {
include(TEMPLATEPATH . ‘/archive-other.php’);
}
?>
二、为不同文章按照分类来调用不同模板
<?php
$post = $wp_query->post;
if ( in_category(‘7′) ) {
include(TEMPLATEPATH . ‘/single-view.php’);
}
else if ( in_category(‘3′)) {
include(TEMPLATEPATH . ‘/single-case.php’);
}
else if ( in_category(‘42′) ) {
include(TEMPLATEPATH . ‘/single42.php’);
}
else {
include(TEMPLATEPATH . ‘/archive-other.php’);
}
?>
三、几点解释
1、这个应该同时可以扩展为按不同标签等来进行设置。
2、里面的数字为分类ID号,在后台编辑分类的地址上可以看到这个id号,对应写就行了。最后一个else是在之前没特别定义的分类样式。
3、以上代码分别修改的是archive.php和single.php,全部替换成如上代码。
本文作者墨绿来自广州SEO博客
WordPress模板基本文件
style.CSS 样式表文件
index.php 主页文件
single.php 日志单页文件
page.php 页面文件
archvie.php 分类和日期存档页文件
searchform.php 搜索表单文件
search.php 搜索页面文件
comments.php 留言区域文件(包括留言列表和留言框)
404.php 404错误页面
header.php 网页头部文件
sidebar.php 网页侧边栏文件
footer.php 网页底部文件
WordPress Header头部 PHP代码
注: 也就是位于<head>和</head>之间的PHP代码
<?php bloginfo(‘name’); ?> 网站标题
<?php wp_title(); ?> 日志或页面标题
<?php bloginfo(’stylesheet_url’); ?> WordPress主题样式表文件style.css的相对地址
<?php bloginfo(‘pingback_url’); ?> WordPress博客的Pingback地址
<?php bloginfo(‘template_url’); ?> WordPress主题文件的相对地址
<?php bloginfo(‘version’); ?> 博客的Wordpress版本
<?php bloginfo(‘atom_url’); ?> WordPress博客的Atom地址
<?php bloginfo(‘rss2_url’); ?> WordPress博客的RSS2地址
<?php bloginfo(‘url’); ?> WordPress博客的绝对地址
<?php bloginfo(‘name’); ?> WordPress博客的名称
<?php bloginfo(‘html_type’); ?> 网站的HTML版本
<?php bloginfo(‘charset’); ?> 网站的字符编码格式
WordPress 主体模板 PHP代码
<?php the_content(); ?> 日志内容
<?php if(have_posts()) : ?> 确认是否有日志
<?php while(have_posts()) : the_post(); ?> 如果有,则显示全部日志
<?php endwhile; ?> 结束PHP函数”while”
<?php endif; ?> 结束PHP函数”if”
<?php get_header(); ?> header.php文件的内容
<?php get_sidebar(); ?> sidebar.php文件的内容
<?php get_footer(); ?> footer.php文件的内容
<?php the_time(‘m-d-y’) ?> 显示格式为”02-19-08″的日期
<?php comments_popup_link(); ?> 显示一篇日志的留言链接
<?php the_title(); ?> 显示一篇日志或页面的标题
<?php the_permalink() ?> 显示一篇日志或页面的永久链接/URL地址
<?php the_category(‘, ‘) ?> 显示一篇日志或页面的所属分类
<?php the_author(); ?> 显示一篇日志或页面的作者
<?php the_ID(); ?> 显示一篇日志或页面的ID
<?php edit_post_link(); ?> 显示一篇日志或页面的编辑链接
<?php get_links_list(); ?> 显示Blogroll中的链接
<?php comments_template(); ?> comments.php文件的内容
<?php wp_list_pages(); ?> 显示一份博客的页面列表
<?php wp_list_cats(); ?> 显示一份博客的分类列表
<?php next_post_link(‘ %link ‘) ?> 下一篇日志的URL地址
<?php previous_post_link(‘%link’) ?> 上一篇日志的URL地址
<?php get_calendar(); ?> 调用日历
<?php wp_get_archives() ?> 显示一份博客的日期存档列表
<?php posts_nav_link(); ?> 显示较新日志链接(上一页)和较旧日志链接(下一页)
<?php bloginfo(‘description’); ?> 显示博客的描述信息
其它的一些Wordpress模板代码
/%postname%/ 显示博客的自定义永久链接
<?php the_search_query(); ?> 搜索表单的值
<?php _e(‘Message’); ?> 打印输出信息
<?php wp_register(); ?> 显示注册链接
<?php wp_loginout(); ?> 显示登入/登出链接
<!–next page–> 在日志或页面中插入分页
<!–more–> 截断日志
<?php wp_meta(); ?> 显示管理员的相关控制信息
<?php timer_stop(1); ?> 显示载入页面的时间
<?php echo get_num_queries(); ?> 显示载入页面查询
看到这里的时侯,有人露出不屑的神色。太菜了?看样子,不露出点真功夫还不能服众啊!接着,再来:
指定example.php中的内容只在首页显示
<?php if ( is_home() ) { include (‘example.php’); } ?>
为不同分类指定不同的样式表
<?php if ( is_category(’15′) ) {<link rel="stylesheet" href="<?php bloginfo(‘template_url’); ?>/cat-15.CSS"
type="text/css" media="screen" />;
<?php } else { ?>
<link rel="stylesheet" href="<?php bloginfo(‘stylesheet_url’); ?>"
type="text/css" media="screen" />
<?php } ?>
为不同的分类指定不同的图像
<?php if (is_category(’7′) ):<img src=’<?php bloginfo(‘template_url’);?>/images/cat7.jpg’ alt=” />
<?php } elseif (is_category(’8′) ):
<img src=’<?php bloginfo(‘template_url’);?>/images/cat8.jpg’ alt=” />
<?php endif; ?>
样式化单篇日志
<div id="post-<?php the_ID();?>">This snippet will assign the post ID to the DIV. For example, if the ID for the post is 8, that line will echo as
<div id=”post-8”></div>. Now you can style that individual post in the CSS as #post-8. Place this code
within the loop.
上一页和下一页链接
<?php next_posts_link(‘Next Entries »’) ?><?php previous_post_link(‘« Older Entries’); ?>
动态页面链接
<ul><li<?php if(is_home()) { ?> class="current_page_item"<?php } ?>><a href="
<?php bloginfo(‘home’); ?>">home</a></li>
<?php wp_list_pages(‘sort_column=menu_order&depth=1&title_li=’); ?>
</ul>
This snippet will rst echo the text “home” with a link to the home page. Next, it will echo the WordPress
pages links in a list, in order dened by your settings, excluding the child pages, and excluding a title
header for the list. If one of the pages in the list is active, the link for that page will be assigned the class
“current_page_item”, which can now be styled in your CSS. Place this code in the template les.
动态页面标题
<?phpif (is_home()) { echo bloginfo(‘name’); } elseif (is_404()) { echo ‘WPCandy » 404′; } elseif(is_search()) { echo ‘WPCandy » Search Results’; } else { echo ‘WPCandy » ‘; wp_title(”); }
?>
分类日志
<?php query_posts(‘cat=2&showposts=5′); ?>
CSS样式表头部声明
/*
Theme Name: WPChineseoa
Description: Description goes here
Theme URI: http:www.2leee.com
Version: 2.0
Author: TonyDeng
Author URI: http:www.2leee.com
Template: Dene a parent template (optional)
*/
日志循环
The Loop<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
// this is the inside of the loop
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
标签云(Tag cloud)
<?php wp_tag_cloud(‘smallest=1&largest=9&’); ?>
页面模板头部声明
<?php/*
Template Name: Gallery
*/
?>
为每个分类指定不同的模板
<?php$post = $wp_query- >post;if ( in_category(’3′) ) {
include(TEMPLATEPATH . ‘/cat3.php’);
} elseif ( in_category(’4′) ) {
include(TEMPLATEPATH . ‘/cat4.php’);
} else {
include(TEMPLATEPATH . ‘/cat.php’);
} ? >
本文作者墨绿来自广州SEO博客
因为用的外国的空间,然后博客的虚拟空间也不怎么好,所以博客打开有时非常的慢,跨国的的线路是影响速度的一个原因还有一个原因是因为为是每次打开都是需在php调用的,也会影响页面打开速茺,所以要能是把wordpress 静态化那就好了。但是wordpress静态化是非常的麻烦的事,有几个插件,但感觉不怎么样,伪静态又解决不了这个问题。所以我只是想把首面静态化,有了这样一个想法我就一直找方法,结果在月光博客上面看到有相关的文章,结果测试了一下,可以生成,但是不能定时,根本没有办法投入使用,这不,今天求救命于柳城大侠。结果这家伙竟然说很简单,然后已经写好了,用了好久,我当时就晕菜了,好家伙。写好了,我满世界都找不到,不过柳大侠好,代码给我的了,测式了下还是不错的,可以定时,默认设置的是4小时或更新时就会自动生成,这样也就可以了,柳城这家伙这陈子好像准备攻SEO.不知道有没有新插件出。不过我这个广州SEO博客都好及没有更新了,这应该是春节前最后一次更新了吧,大家如果也有这样同样的问题,可以联系我,好东西要分享。
作者: 墨绿 @ 广州SEO – 墨绿SEO博客
欢迎转载,请保留链接注明出处。
最近有广州SEO博客有几篇文章特别长,搞得看到很不清楚,很烦,所以想让文章为摘要显示。但又不想用插件。所以又在网上来找了。有几个方法,我都试了一下,都是不错的。方法有四种如下:
1. 最常用的就是<!–more–>标签来实现文章摘要功能,就是你的wordpress后台写文章时在你需要的地方插入<!–more–>标签来截断文章
2.使用the_excerpt标签,需要修改 index.php和archive.php文件,找到<?php the_content(); ?> 或者<?php the_content(__(‘Read more…’, ‘elegantbox’)); ?>或者<?php if(is_category() || is_archive() || is_home() ) {the_excerpt();} else {the_content(‘Read the rest of this entry »’); } ?> 等总之一般在<div class="entry">下面。 把代码改成<?php the_excerpt(__(‘Read more…’, ‘elegantbox’)); ?> 就可以了。但是有一个不好,就是有摘要的会显示摘要,没有的摘要会显示没有分行的文章,比较丑。
3就是截取文章字字。就是把第二个的代码换一下。换成<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 200,"…"); ?>
这个就是截取200字,为摘要。。<?php the_excerpt(__(‘Read more…’, ‘elegantbox’)); ?>
4使用插件。这个就不说了,
说一下一个事,百度最近是不是疯了,最近博客也没有管理,昨天查了一下有排名,然后今天再上来看下,就变成没有了。我汗。那个汗。狂汗。。这变化也太大了。。搞笑,继续无视百度中。。。
作者: 墨绿 @ 广州SEO – 墨绿SEO博客
欢迎转载,请保留链接注明出处。
这两个自己做做了个wp的模版。不是技术类出身的,代码看得我头大。瞎搞总算是做出来的,先试试看,不知道符不符合。seo反正是这样做了。哈哈, 下面为做模版前需要清楚的一WP一些调用的顺序。都是从网上扒来的,拿出来果晒一下,便多。
WordPress为不同查询类型调用模板文件,顺序如下:
查询主页时
1. home.php
2. index.php
查询某篇日志时
1. single.php
2. index.php
查询页面时
WordPress页面:
1. pagetemplate.php——pagetemplate.php是页面模板分配给页面的模板文件
2. page.php
3. index.php
查询类别时
类别模板:
1. category-id.php——例如,若类别ID为6,WordPress查找category-6.php文件
2. category.php
3. archive.php
4. index.php
查询标签时
标签模板:
1. tag-slug.php——例如,若标签的别名为sometag,WordPress会查找tag-sometag.php文件
2. tag.php
3. archive.php
4. index.php
查询作者时
作者模板:
1. author.php
2. archive.php
3. index.php
查询日期时
存档(日期)模板
1. date.php
2. archive.php
3. index.php
查询搜索结果时
创建搜索页面:
1. search.php
2. index.php
404页面未找到
生成404错误页面:
1. 404.php
2. index.php
查询附件时
附件模板:
1. image.php, video.php, audio.php, application.php以及其它MIME类型的第一部分
2. attachment.php
3. single.php
4. index.php
作者: 墨绿 @ 广州SEO – 墨绿SEO博客
欢迎转载,请保留链接注明出处。
Windows Live Writer 应该是使用最多的离线博客编辑器,而 All In One SEO Pack plugin又是使用最多的wordpress seo插件,虽然我用代码代替了。可以让你自定义页面的meta信息,达到更好的搜索引擎效果。但是如果你每次都不能在Windows Live Writer 里面直接添加All in One SEO的字段你会很蛋疼。有个插件可以让你不蛋疼。All In One SEO Pack Windows Live Writer Bridge 是一款可以整合All-in-One-SEO到Windows Live Writer的wordpress插件。更准确的说,它包含两个插件,一个用于wordpresss, 一个用于Windows Live Writer 插件示下:
- 下载 All In One SEO Pack Windows Live Writer Bridge: WordPress 插件
- 下载 All In One SEO Pack Windows Live Writer Bridge: WLW 插件
- wordpresss插件的安装我就不多说了。不懂的留言。Windows Live Writer用的插件就下载到本地然后把那个dll文件复制到C:Program FilesWindows LiveWriterPlugins 重启Windows Live Writer即可。
- 装了以后使用,请看下图:
-
作者: 墨绿
原载: 广州SEO – 墨绿SEO博客
转载请保留链接注明出处。
一直以来windows live writer 来更新WordPress还是十分顺手的,强大的功能,完美的支持,丰富的插件实现各类所需的功能,,但是我一定找不到更改文章别名的方法,每个更新完以后还要回去改一下文章的别名,这样使我非常的纠结.(用wp的童鞋也知道,设置好中文文章的别名,并使用一个良好的固定链接地址,关于固定链接的设置参考:WordPressSEO优化 链接策略 好的链接是十分有益于空间的SEO优化的),因为如果别名是中文的百度会出现很多圈圈叉叉如:%$#%#%的不利于优化之类的.然而正是windows live writer 的"不支持",让我放弃了使用posttitle作为网址一部分的计划,我很是心痛啊.
今天早上,我郁闷,我纠结,我心里全是浮云.我就搜了windows live writer wordpress 别名,果然被我搜出来了.原来T亲 娘的windows live writer本身就有这个功能,只不过藏起来了.就在windows live writer 的下面,如图所示:
就是那个数据域,雷得我蛋疼..你这几天正火的小月月还让人蛋疼…
下次更新文章就不用那么纠结了…and end…
作者: 墨绿
原载: 广州SEO – 墨绿SEO博客
转载请保留链接注明出处。
网站地图Sitemap主要是对于搜引擎的地图为它们指明该网站都哪些文章。有利于搜索引擎蛛蛛的爬行对于网站SEO有很大的帮助。谷歌,雅虎Yahoo!,微软Bing搜索引擎都可以通用一个遵循sitemaps.org协议的sitemap.xml文件来执行,也就是常见的的Google Sitemap文件名常为Sitemap.xml。Google Sitemap的提交可以通过在robots.txt文件设置Sitemap url的方式,也可以通过注册登陆Google 网站管理员工具管理后台提交。
有SEOer说百度也支持sitemaps.org 0.9协议的sitemap.xml文件,只要在robots.txt文件中设置Sitemap路径就可以,但是百度并没有对此做出解释,但百度官方介绍,百度sitemap是“遵循互联网开放协议”的XML格式的网页。但是“遵循互联网开放协议”主要针对于两种网站的:一种是“互联网新闻开放协议”,要将这种格式的xml文件当作sitemap提交给百度只适合于新闻类中文网站,博客和论坛都不适合。而且这份xml协议只能由百度发送邀请,然后百度人工审核,主动提交的新闻源Sitemap XML 文件不会被受理。 还有一种是百度网页搜索“互联网论坛收录开放协议”,这个协议是针对论坛网站来说的,可以通过将XML格式网页文件当做sitemap提交给百度。如果成功制作和提交XML文件给百度,就相当于百度订阅了论坛帖子,使百度搜索引擎更容易对论坛网页进行索引。该xml文件大体结构和Google Sitemap XML相似 对于该文件中xml的标签包括<pubDate>,<bbs:lastDate>,<bbs:boardid>,<bbs:pick>,<document>,<webSite>,<webMaster>,<updatePeri>,<bbs:reply>,<bbs:hit>,<bbs:mainLen>,<updatetime>,<version>,<item>,<link>,<title>等等。(补充一点:如果是视频网站是则协议是:互联网视频开放协议)。
那么如做wordpress优化的百度地图?
现在都有很多插件如国内wordpress大侠柳城,fairyfish等做的。可以把制作好的论坛网站XML格式文件命名为sitemap_baidu.xml,然后上传到网站根目录下,或者放个链接在首页。百度spider就会来去爬。这样提交百度Sitemap就完成了。网上很多人发的那些所谓提交百度XML文件的地址其实都只是用来提交新闻类网站Sitemap的,根据不受理这个,你去去提交了也不会被受理,意义实属不大。
如何加快提交百度Sitemap网站地图?
一。百度没有提供类似Google网站管理员的后台可以用来提交百度地图,上面也提到过。我们可以在适当的地方(如首页)加”sitemap_baidu.xml“的链接则可以让百度发现,以及去检索你的地图。
二。虽然百度没明确表示有没有遵循sitemap.org协议,但是百度确实声明了是遵循robots.txt协议的,所以可以和用Google Sitemap一样,在robots.txt文件中加入Sitemap: http://…/sitemap_baidu.xml 的语句来,指明你的sitemap_baidu.xml地址以便加速百度的爬取。
三。百度确实没有提供百度地图的提交入口,但有提供提交网站网址的入口,如果之前没有提交过的话(一般都很少去提交网站,据某些SEOer所述,可影响收录时间),可以百度网址提交入口:http://www.baidu.com/search/url_submit.html 这里提交首页即可。
刚才有讲过“互联网论坛收录开放协议”没有针对博客的,那我提交啥百度地图,其实大家可以认为WordPress等博客程序也是论坛程序来看,把WordPress博客的百度地图做成论坛形式的xml文件的形式就可以了。因内WordPresser的牛X人物fairyfish,LC也因此开发了针对百度的Sitemap地图,下面分别是两个WordPress插件下载地址:
LC:Baidu Sitemap Generator ; fairyfish:百度sitemap (.zip) 也可以直接在插件那里查找“Lc.Archivers”以及“baidu-sitemap”
作者: 墨绿
原载: 广州SEO – 墨绿SEO博客
转载请保留链接注明出处。

