标签归档:Wordpress

WordPress页面出现乱码,提示“被禁止关键字”的解决办法

WordPress页面出现乱码有多种可能,包括与服务器商的安全设置冲突,程序本身被破坏,编码问题等等。本人在这里简单介绍一下与服务器商的安全设置冲突而导致页面出现乱码的解决方法。这种情况一般是在网页中出现了服务器商安全设置中不允许的字词,导致页面被屏蔽。实例如下:

在某次Wordpress中文版更新后,进入管理界面的时候,每次添加和编辑日志和页面的时候都弹出错误窗口(见图)。

 

使用浏览器查看页面的源文件,本人使用的是The World浏览器,目前的各种浏览器都带有查看源码、显示源文件等功能,得到源码显示如下(XXX代表某些被禁止的关键字):

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />

<title>发现被禁止的关键字:XXX</title>

</head>

<body>

在页面上发现被禁止的关键字:<strong>XXX</strong>!<br />

请及时删除!

</body>

</html>

从上面可以看到我的页面出现了“XXX”三个字,导致页面被服务器屏蔽,因此我需要删除或者修改“XXX”来使页面显示正常。由于中文版的Wordpress是汉化而来,因此我们只需要找到Wordpress程序里面的语言包对其进行修改即可。

推荐大家下载PoEdit 1.4.2,这是一款很好用的汉化编辑软件,下载并进行安装。

下载地址:Download 

然后找到从本地Wordpress语言包目录wordpress\wp-content\languages种

找到zh_CN.mo和zh_CN.po两个文件(这两个文件是一对汉化文件),用PoEdit打开zh_CN.po查找关键字“XXX”,如图。

 

对其进行修改并保存,程序将自动生成新的zh_CN.mo文件,到此修改完成。然后把新的语言包文件FTP上传即可。

更多关于PoEdit的用法参见下列文章:

http://roam.im/2009/10/wordpress-poedit.html

http://wordpress.org.cn/thread-55133-1-1.html

WordPress中MySQL数据库的导入导出

         相信大家在用MYSQL与WORDPRESS的时候都会采用Apache+PHP+MySQL服务器,我用的是WampServe,如果有初学者对这些还不是很了解的,请先参看我以前的日志学习一下Wordpress网站架设入门。

        长话短说,由于我自己一般是在本地调试网站,然后才在服务器上修改,相信大多数人也是这样,但是有时候在本地丢失数据以后,需要从服务器上把文件和数据库在本地上还原,这个过程相对比较繁琐,在这里我就详细介绍一下如何从服务器上同步MySQL数据库到本地数据库上,至于文件的拷贝和数据从网站上的导出这里就不多说了,Wordpress后台有专门提供导出的选项,即工具-导出,服务器上的文件可以每隔一段时间用FTP工具拷贝下来一次,另外记着对wp-config.php进行修改以适应本地数据库。

         具体方法如下:

         在导出前如果你在服务器上的对永久链接进行过修改,那记得在导出之前改为默认,或者在导入到本地之后记得改为默认,否则无法访问页面。

         首先进入服务器上的phpMyAdmin管理器,进入你想导出的数据库点击导出,然后选择另存为文件以及gzip压缩(采用压缩比较方便),最后点执行保存数据库文件。然后进入本地的phpMyAdmin管理器点击导入,导入文件即可。

        导入数据库以后不代表你的网站就能顺利在本地访问了,因为服务器上和本地的设置明显不同,这里要进入本地MySQL数据库修改相关的键值。

        点击你的数据库,进入wp_options

  编辑 删除 2 0 siteurl http://localhost/wordpress yes
  编辑 删除 39 0 home http://localhost/wordpress yes

         这两个选项要求把后面的值改为本地路径,前者是你的网站路径,后者是你的主页地址,类似的在wp_options中寻找你有些插件的设置,都要把原来服务器上的路径修改成本地的路径,根据自己的情况修改。这两个设置其实就是在后台设置-常规选项里面,只是因为之前进不去,所以只有通过数据库来修改。

编辑 删除 59 0 upload_path   yes

         这个选项即从后台上传文件的路径,例如照片等等,记得修改键值,为空即默认为wp-content/uploads目录。

         wp_options其实就是对应的后台设置里面的选项,进入后台以后可再进行后续相关操作,如设置某些插件等等。如果在导入过程中,日志或者页面出现乱码,可以将起全部删除,然后通过后台工具-导入选项导入之前的内容备份。整个过程就是这样,如果出现什么问题可以发信来问我darren@mhuan.name

         如果需要了解全部关于MySQL数据库导入导出,可以参看《MySQL数据库导入导出详解》这篇文章,点击进入

WordPress下拉式菜单配置方法

采用下拉式菜单既可以节省网页空间,简化页面布局,同时操作起来也比较方便和快捷,如果你恰好也厌倦了自己的旧模板,你可以参照下面的这个教程给自己的WordPress主题制作一个杂志型的下拉式菜单,非常简单,当然,你还可以自定义它的显示样式。

》》第一步:Html和Php代码

用下面的代码取代你在header.php中的导航菜单旧代码

<ul id=”nav” class=”clearfloat”>
<li><a href=”<?php echo get_option(’home’); ?>/” class=”on”>Home</a></li>
<?php wp_list_pages(’title_li=’); ?>
<li class=”cat-item”><a href=”#”>Categories</a>
<ul class=”children”>
<?php wp_list_categories(’orderby=name&title_li=’);
$this_category = get_category($cat);
if (get_category_children($this_category->cat_ID) != “”) {
echo “<ul>”;
wp_list_categories(’orderby=id&show_count=0&title_li=
&use_desc_for_title=1&child_of=’.$this_category->cat_ID);
echo “</ul>”;
}
?>
</ul>
</li>
</ul>

》》第二步:设置CSS-

把下面的CSS代码复制到你的主题的css文件中.

#nav{
background:#222;
font-size:1.1em;
}
#nav, #nav ul {
list-style: none;
line-height: 1;
}
#nav a, #nav a:hover {
display: block;
text-decoration: none;
border:none;
}
#nav li {
float: left;
list-style:none;
border-right:1px solid #a9a9a9;
}
#nav a, #nav a:visited {
display:block;
font-weight:bold;
color: #f5f5f4;
padding:6px 12px;
}
#nav a:hover, #nav a:active, .current_page_item a, #home .on {
background:#000;
text-decoration:none
}
#nav li ul {
position: absolute;
left: -999em;
height: auto;
width: 174px;
border-bottom: 1px solid #a9a9a9;
}
#nav li li {
width: 172px;
border-top: 1px solid #a9a9a9;
border-right: 1px solid #a9a9a9;
border-left: 1px solid #a9a9a9;
background: #777;
}
#nav li li a, #nav li li a:visited {
font-weight:normal;
font-size:0.9em;
color:#FFF;
}
#nav li li a:hover, #nav li li a:active {
background:#000;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
left: auto;
}
a.main:hover {
background:none;
}

》》第三步:Javascript代码

把下面的js代码放在你的主题的<head></head>中.

<![CDATA[//><!–
sfHover = function() {
var sfEls = document.getElementById(“nav”).getElementsByTagName(“LI”);
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmou
SEOver=function() {
this.className+=” sfhover”;
}
sfEls[i].onmou
SEOut=function() {
this.className=this.className.replace(new RegExp(” sfhover\\b”), “”);
}
}
}
if (window.attachEvent) window.attachEvent(”onload”, sfHover);
//–><!]]>