偶看博客建立数据库连接时出错

偶看刚刚登陆博客的时候,网站出现大大个的提示——建立数据库连接时出错。偶看在想,不应该啊,最近啥也没做。

偶看尝试登陆后台,系统提示“一些数据表不可用。也许需要修复数据库。”,点击”修复数据库“,提示在配置文件添加

(‘WP_ALLOW_REPAIR’, true);

在配置文件添加好以上代码后,点击修复数据库,系统提示:

wp_users数据表正常。

wp_usermeta数据表正常。

wp_posts数据表正常。

wp_comments数据表正常。

wp_links数据表正常。

wp_options数据表正常。

wp_postmeta数据表正常。

wp_terms数据表正常。

wp_term_taxonomy数据表正常。

wp_term_relationships数据表正常。

wp_commentmeta数据表正常。

修复完成。请移除刚刚在wp-config.php中添加的那行代码,以防他人滥用本页面。

define(‘WP_ALLOW_REPAIR’, true);

修复成功,偶看博客已经能够正常访问了。

看来Wordpress的修复还真是简单方便,只是偶看不知道数据库哪里出了问题。

WordPress添加返回顶部小火箭

偶看介绍的Wordpress添加返回顶部小火箭是通过JQuery配合CSS来实现,可以适用于任何Wordpress模板,而不单单只适合萧涵主题。

一、下载返回顶部小火箭压缩包:rocket小火箭素材,里面有两个文件btop.js和rocket_up.png,均放置到主题文件夹下的 images 目录,例如:/wp-content/themes/xiaohan3/images/

二、打开萧涵主题文件夹下的/wp-content/themes/xiaohan3/footer.php,在文件结尾处添加

<div id="scrollTop" >
    <div class="level-2"></div>
    <div class="level-3"></div>
</div>
<script language="javascript" type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.6.2/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="/wp-content/themes/xiaohan3/images/btop.js"></script>

三、打开萧涵主题文件夹下的/wp-content/themes/xiaohan3/style.css,在文件结尾处添加

/*top*/
#scrollTop{cursor:pointer;display:block;height:180px;overflow:hidden;position:fixed;right:-42px;top:80%;width:149px;z-index:11;margin:-124px 0 0;padding:0}
#scrollTop,#scrollTop .level-2{background:url(images/rocket_up.png) no-repeat 0 0;}
#scrollTop div{left:0;overflow:hidden;position:absolute;top:0;width:149px;margin:0;padding:0}
#scrollTop:hover{background-position:-149px 0;}
#scrollTop .level-2{background-position:-149px 0;display:none;height:180px;opacity:0;z-index:1}
#scrollTop .level-3{background:none;cursor:pointer;display:block;height:180px;z-index:2}

这样就完成了Wordpress添加返回顶部小火箭,具体效果看下图,也可以查看偶看博客的右侧。

返回顶部小火箭

萧涵主题右上角添加设为首页、收藏网站等链接

使用Wordpress萧涵主题想要在右上角添加设为首页、收藏网站等链接,可以参考一下步骤。
一、打开萧涵主题文件夹下的wp-content/themes/xiaohan3,header.php 在

        </div>
        <div id="nav">

之前添加

	<div class="top_menu">
	<A onclick='this.style.behavior="url(#default#homepage)";this.setHomePage("http://www.oukan.net");' href="#" >设为首页</a> |<a href="Javascript:window.external.addFavorite('http://www.oukan.net','偶看博客')">加入收藏</a>
	</div>

需要将其中的网址和网站名替换为自己的网站

二、修改同目录文件夹下的style.css在文件末尾添加css

.top_menu{position:absolute;right:10px;top:0;}
.top_menu a{color:#FFF;text-decoration:underline;text-decoration:none;}
.top_menu a:hover{color:#FFF;text-decoration:none;}

即可,如果想要将位置移动到网页左上角,css的代码调整为

.top_menu{position:absolute;top:0;}
.top_menu a{color:#FFF;text-decoration:underline;text-decoration:none;}
.top_menu a:hover{color:#FFF;text-decoration:none;}

设为首页 加入收藏

以上代码经过测试,在IE下设为首页和收藏网页两个都有效,谷歌浏览器只有收藏网页有效,而火狐浏览器则两个都无效。大家也可以找找有没有相关代码的设为首页和收藏网页可以兼容所有浏览器的。

WordPress侧边栏添加站点统计功能

wordpress侧边栏添加站点统计代码,需要修改主题下的 sidebar.php,请注意,如果是萧涵主题,启用侧边栏小工具后,使用代码需要放置在最后一个

</div>

之前,没有启用小工具的可以自定义位置。

侧边栏站点统计信息的具体代码为:

<div class="block">
<h3>博客统计 · Statistics</h3>
<ul>
    <li>日志总数:<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?>篇</li>
    <li>评论总数:<?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");?>条</li>
    <li>标签总数:<?php echo $count_tags = wp_count_terms('post_tag'); ?>个</li>
    <li>页面总数:<?php $count_pages = wp_count_posts('page'); echo $page_posts = $count_pages->publish; ?></li>
    <li>分类总数:<?php echo $count_categories = wp_count_terms('category'); ?>个</li>
    <li>链接总数:<?php $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); echo $link; ?>个</li>
    <li>成立时间:2013-05-01</li>  //时间改为自己建站的时间
    <li>运行天数:<?php echo floor((time()-strtotime("2012-05-01"))/86400); ?>天</li>  //其中的年月日改成你自己的网站成立时间
    <li>最后更新:<?php $last = $wpdb->get_results("SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND (post_status = 'publish' OR post_status = 'private')");$last = date('Y-n-j', strtotime($last[0]->MAX_m));echo $last; ?></li>
  </ul>
</div>

偶看博客转移网站空间后首页出错

由于偶看博客使用的原空间商服务器老出问题,最近又因为同主机上的网站被攻击,服务器主IP被机房封锁,虽然网站的访问没有问题,但是管理却出现大问题,表现为:

一、DNS出错,后台无法安装和更新wordpress插件

二、评论回复无法发送邮件,新用户注册也无法发送邮件,而wordpress注册是通过邮件发送密码的

三、多说评论无法同步到本地数据库

偶看还是换个空间商吧。

偶看将网站所有源码文件传到新空间,并将数据导入数据库,修改了域名的解析,一切就绪后访问网站首页,在首页底部出现

Fatal error: Allowed memory size of  67108864 bytes exhausted (tried to allocate 71 bytes) in /wp-includes/wp-db.php on line 1545

错误,并且无法出现侧边栏,这个应该是内存限制造成的,偶看访问其他栏目页和内容也都没有出现该错误。

经过分析,是

<!--?php xiaohan_pagination($query_string); ?-->

的错误,因为首页翻页过多,导致内存不足。偶看想想反正首页也不需要显示那么多页,直接使用“上一页”和“下一页”的功能好了,将首页的翻页代码修改为

<div class="navigation"></div>

调用的CSS为

.alignright {
float: right;
margin: 4px 0 2px 14px;
}
.alignleft{
float: left;
margin:4px 14px 2px 0;
}

修改后,首页恢复正常显示。

wordpress调用函数大全

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 网页底部文件

在新一批的主题模板中已经使用了loop.php的文件,如loop-single.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(); ?> 显示载入页面查询

wordpress3.5.1文本框无法编辑文章错误排查

偶看上午登录博客后台准备发布日志,发现发布日志的文本编辑框无法写入任何内容。偶看的第一反应是网站出了什么问题?偶看在17号的时候更新了一篇微博客,而长博客已经有大半个月没有更新,在17号发表日志的时候,wordpress后台一切正常。

wordpress编辑器空白

偶看先从插件开始排查,先停用所有插件,添加日志的文本编辑框还是没有如何反应。

偶看重新登录wordpress后台,文本框已经恢复正常,因为停止了所有插件,偶看需要一个个排查插件问题,而有关编辑器插件最接近的是CodeColorer,因为CodeColorer有修改过,偶看将其恢复到官方版本0.9.9。

在启用所有相关插件的情况下,再次重新进入管理后台,文本编辑框正常。

从正常情况来看,wordpress出现问题在插件不兼容的情况比较多。

林伟强建议wordpress马上升级到3.5.1版本。

林伟强刚登陆偶看网络营销博客发现wordpress更新提示–wordpress3.5.1版本已经发布,现在更新。

林伟强马上登陆wordpress官方查看wordpress3.5.1版本信息,通过更新信息发现,所有wordpress用户建议马上升级到wordpress3.5.1.

具体的更新信息如下:

WordPress 3.5.1 简体中文版本现已可用。版本修复 37 个问题。这也是一个安全更新。完整的问题列表请参见 ticket 列表和 changelog。梗概如下:

编辑器:解决 HTML 元素可能意外消失的问题。
多媒体:修正若干小工作流程问题和兼容性问题。
多站点:在创建新网络的时候提示使用正确的重写规则。
避免定时发布的一些 HTML 标签在发布时消失的问题。
临时解决了错误配置可能造成的仪表盘 JavaScript 异常的问题。
隐藏了插件错误使用数据库或用户 API 时的警告。
由于一个程序问题,Windows 上运行 IIS 的用户无法自动从 3.5 升级到 3.5.1。参见文档(英文,请登录翻译)来手动升级。

WordPress 3.5.1 解决的安全问题如下:

使用 pingback 的远程端口扫描问题。该问题可能导致服务器信息泄露,或被攻击。这个问题影响所有的 WordPress 版本。特别感谢安全研究员 Gennady Kovshenin 和 Ryan Dewhurst 评估我们的工作。
shortcode 和文章内容的两处跨站攻击漏洞。由 WordPress 安全小组 Jon Cave 发现。
外部库 Plupload 的跨站漏洞。感谢 Moxiecode 开发者和我们一起研究、解决问题,感谢他们发布 Plupload 1.5.5。

pingback漏洞影响到所有的wordpress版本,这个大家需要引起重视。

萧涵主题侧边栏错位解决办法 视频

大家在使用萧涵主题发布文章时,会遇到首页侧边栏错位,而文章页侧边栏不会错位的情况,这是因为,首页使用的截取功能并没有过滤DIV代码导致的。

萧涵主题发出现侧边栏错位后要怎么解决呢?

在发布文章的时候,点击文本框右上角的“文本”,将文章源代码中的 DIV 代码删除,重新发布文章即可实现侧边栏正常。具体的解决过程大家可以观看视频。

 

偶看网络营销博客再次网站改版

生命不止、折腾不停。偶看是越来越喜欢折腾,刚好最近网站被百度降权,排名全无,那么就随意折腾了,也不用看百度脸色。上次网站改版是在2012年10月19日–《偶看博客重大改版,静观效果》,本次改版的主要内容有:

一、网站标题修改,将原标题:“东莞网络营销_东莞SEO_SEO培训_偶看网络营销博客”修改为:“修改为:网络营销_wordpress网站建设_SEO培训_偶看网络营销博客”。博客有关wordpress的内容越来越多,所以在关键词上加了一个wordpress。

二.网站首页描述修改,原描述:“偶看,本名林伟强,专注于东莞网络营销和社会化媒体营销,擅长搜索引擎整合营销(SEM),网站优化(SEO)!为企业和公司提供网站诊断和网站优化培训服务.”修改为:“偶看,本名林伟强,专注于网络营销和社会化媒体营销,擅长wordpress网站建设.偶看网络营销博客提供网站诊断和网站优化SEO培训服务.”

三、删除全站标题的H1标签,将文章页面的H2标签修改为H1标题。

四、修改logo为直接调用图片,并添加ALT信息,以前使用的是隐藏文本的形式

五、侧边栏修改:将热门文章增加到15篇,删除热评文章

六、删除网站底部的“返回顶部”按钮,在网站侧边添加JS返回顶部的滚动火箭

七、删除所有关键词keywords标签、除首页和目录外,删除所有描述description标签

八、删除无觅相关文章插件,启用WordPress Related Posts相关文章插件。主要是因为无觅使用的是JS调用,不过修改了相关文章插件,缩略图需要重新调整,这是一个大工程。

九、栏目调整

偶看这回如此大的改动,对百度收录会有什么影响吗?需要继续观察。

wordpress在windows主机伪静态的httpd.ini文件设置

对于国内的大部分wordpress用户来说,使用windows主机的比例远远高于linux主机,这是国内主机市场的环境造成的,在linux主机下想要实现wordpress伪静态是非常容易的,只要在管理后台直接设置固定链接后保存即可,可是对于广大的windows主机用户来说,配置伪静态可就没有这么简单了。

首先要确定windows主机是否支持伪静态,对于大部分虚拟空间来说,这个应该都是支持的。

接下来,建立一个txt文件,将其改名为httpd.ini,将以下内容复制到该文件

[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
#拒绝访问httpd.ini和httpd.parse.errors
RewriteRule /httpd(?:.ini|.parse.errors) / [F,I,O]
#拒绝访问特定后缀名的文件
RewriteRule .*.isrwhlp / [F,I,O]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default.ida|root.exe|..).* . [F,I,O]

#解决xmlrpc.php无法访问导致的404错误
RewriteRule /xmlrpc.php /xmlrpc.php [L]

# 中文tag解决
RewriteRule /tag/(.*)/page/(\d+)/ /index\.php\?tag=$1&amp;paged=$2 [L]
RewriteRule /tag/(.*) /index\.php\?tag=$1 [L]

# from accessing through HTTP
# Rules to ensure that normal content gets through

RewriteRule /robots.txt /robots.txt [L]

#sitemap
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /sitemap.xml.gz /sitemap.xml.gz [L]
RewriteRule /sitemap.html /sitemap.html [L]
RewriteRule /sitemap_baidu.xml /sitemap_baidu.xml [L]

#category
RewriteRule /category/(.*)/page/(\d+)/ /index\.php\?category_name=$1&amp;paged=$2 [L]
RewriteRule /category/(.*) /index\.php\?category_name=$1 [L]
RewriteRule /favicon.ico /favicon.ico [L]

# For file-based wordpress content (i.e. theme), admin, etc.

RewriteRule /wp-(.*) /wp-$1 [L]

# For normal wordpress content, via index.php

RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

将制作好的httpd.ini文件上传到网站的根目录,如果主机有权限的情况下,会自动生成伪静态配置;如果没有自动生成伪静态页面,即出现404错误页面,需要联系主机的技术人员配置伪静态规则。

wordpress主题HTTP响应拆分漏洞解决方案

偶看网络营销博客通过360网站安全监测出现——HTTP响应拆分漏洞(WASC Threat Classification)

HTTP响应拆分漏洞

该漏洞的危害:攻击者可能注入自定义HTTP头。例如,攻击者可以注入会话cookie或HTML代码。这可能会进行类似的XSS(跨站点脚本)或会话固定漏洞。

解决方案:限制用户输入的CR和LF,或者对CR和LF字符正确编码后再输出,以防止注入自定义HTTP头。

偶看网络营销博客出现这个问题,是因为添加了wordpress评论外链跳转功能,站外网址的跳转是使用“/?r=”直接跳转,没有使用中间跳转页,而且代码过滤不严格,即

$redirect = $_GET['r'];

后面必须过滤CR和LF字符,在该代码后面加上

$redirect = trim(str_replace("\r","",str_replace("\r\n","",strip_tags(str_replace("'","",str_replace("\n", "", str_replace(" ","",str_replace("\t","",trim($redirect))))),""))));

即可成功修复HTTP响应拆分漏洞。

All in One SEO Pack 中文版 兼容最新版本语言文件下载

All in One SEO Pack中自带的中文(汉化)版文件已经失效很久了,目前All in One SEO Pack最新版本是1.6.15.3,可以兼容wordpress3.5,下载次数达到13,268,323 次,使用人数相当多。

All in One SEO Pack的基本功能包括

支持谷歌Analytics(分析)
支持自定义文章类型
标准化的URL
微调导航链接
内置的API可以访问其他插件/主题和扩展功能
插件中唯一提供搜索引擎优化集成WP电子商务网站
目前安全
支持WordPress的CMS风格
自动针对搜索引擎优化您的标题
自动生成META标签
避免在WordPress博客上被找到重复的内容
对于初学者,您甚至可以不看选项,只要安装,即可使用
对于高级用户,您可以微调一切
您可以覆盖任何标题,并设置任何META描述和您想要的任何META关键字。
可以兼容其他许多插件,像 Auto Meta, Ultimate Tag Warrior 等等。

官方提供的简体中文语言包版本比较陈旧,已经无法使用

偶看根据最新版的All in One SEO Pack 的语言文件翻译成中文版。

安装:安装好原版的插件之后将此语言包文件上传到此插件(all-in-one-seo-pack)目录,激活插件即可使用。

All in One SEO Pack 中文版语言文件下载地址:http://pan.baidu.com/share/link?shareid=192625&uk=2969853586 (百度网盘)

http://download.csdn.net/detail/lwwlwq/4963136 (CSDN)

林伟强:wordpress利于SEO优化的十三个插件

林伟强使用wordpress的这段时间中,经过对SEO和wordpress的不断研究和分析,给朋友们推荐以下wordpress利于SEO优化的插件,当然还包括用户体验。

第一个插件:all in one seo

是一款很多网友在使用的SEO插件,给文章添加关键词和描述时使用,也可以自定义标题。

第二个插件:WP No Category Base – WPML compatible

这个插件的主要功能是自动替换URL中的category字段,使用这个插件后目录层级就变浅了,更好的结构让蜘蛛更好爬行。

第三个插件:WP-PostViews

想知道哪篇文章更受到搜索引擎和网友们的青睐,安装统计插件才能知晓,要不就只能靠猜了。

第四个插件:WP Kit CN

wordpress SEO插件

功能强大的侧边栏插件,包括:WKC最新评论(可以实现Gravatar头像显示)、WKC最活跃用户、WKC最近评论者、WKC热评。文章、WKC随机文章和WKC高级链接等等。

第五个插件:tinymce-advanced

文章编辑器插件,wordpress自带的编辑器确实比较寒酸,安装这个插件,编辑器功能瞬间强大起来,而且还有很多自定义功能。

第六个插件:wp-thumbnails

缩略图插件,很多主题可能会出现部分功能不兼容的情况,这个插件在wordpress官方无法下载,需要到wp-thumbnails的开发者网站(http://niaolei.org.cn/wp-thumbnails)去下载,功能包含:页面缩略图、文章缩略图、视频缩略图三大块,还可以产生带图片的随机文章等等,非常有利于用户体验。

第七个插件:pinyin-permalink

固定链接和标签自动转化为拼音的插件,在固定链接设置为 /%postname%.html和/%category%/%postname%.html时使用,注意要设置拼音的长度,如果可以,还是手动设置固定链接的名称吧。

第八个插件:SEO Smart Links

自动内链插件,便于搜索引擎互动。还可以设置单独的关键字和链接,是否新窗口打开。

第九个插件:simple tags

经典的一款tag插件,能够生成关键字。进而带来增加收录的目的,收录多了,也就意味着咱们从搜索引擎获得的流量也能够相应得到提升。林伟强发现百度最近对tag目录很感兴趣。

第十个插件:Comment Reply Notification

评论回复插件,这个插件是提高博客活跃度的利器。它的功能就是评论回复通知。当其他的网友在博文中评论并留下了自己的电子邮箱。那么当评论有人回复了之后,系统会自动发一封邮件给留下评论的网友。

第十一个插件:google xml sitemaps

谷歌地图插件,用于生成利于谷歌搜索引擎爬行的XML地图文件。据林伟强统计,百度和搜狗等国内搜索引擎的蜘蛛几乎不爬,如果只做国内搜索引擎那么就安装下面一个插件。

第十二个插件:Baidu Sitemap Generator

百度地图插件,可以生产html文件,相对xml更有利于百度蜘蛛爬行

第十三个插件:WP Backitup

数据备份插件,网站的数据安全是第一要务,再好的空间都可能出现问题,数据只有掌握在自己手上才是最安全的。

wordpress利于SEO优化的十三个插件就介绍到这里,欢迎网友们共同探讨wordpress的优化。