分类
Web编程

php网站搬家引起的”syntax error unexpected $end”解决办法

由于美国服务器访问速度太慢,今天把wordpress程序迁移到韩国的win服务器,在iis7下报错。于是在wp-config.php中打开调试发现如下错误:

Parse error: syntax error, unexpected $end in ……

出错的位置在文件的最后一行,”?>”,网上查说是php语言使用不规范引起的,有的地方开头使用”<?php”,有的地方用”<?”,造成匹配问题。

后来在iis7的php manager插件中编辑php配置就解决了,原因可能是php.ini的默认配置不支持一些wordpress的插件吧!可以在图形界面下修改,也可以找到该文件手动修改。

网上查到相同的问题,并附上原因,摘抄如下:

报错的原因是:集成安装环境包默认的情况下不支持 PHP 短标签
解决办法:打开 php.ini ,找到 short_open_tag = Off 这一行,将 Off 修改为 On,保存退出,重启 Apache 就可以了。

详细的错误分析:

In PHP 5, the following error may appears as an error entry in Apache error log or simply displays on PHP web page, even if calling to php scripts with php_info() works perfectly and successfully returns information on PHP configurations:
Parse Error: syntax error, unexpected $end in ….. scripts.php on line …
The error may caused by a missing curly bracket in PHP script coding. Beside, it may also caused by error in PHP coding in class definition, as in PHP, a class definition cannot be broke up and distributed into multiple files, or into multiple PHP blocks, unless the break is within a method declaration.
But more commonly, the error is often caused by the use of Short Open tags in PHP, To use short open tags, it must be enabled in PHP.INI. Search for short_open_tag in PHP.INI, and change the value to On. The line should look line:
short_open_tag = On

WordPress 完美集成 CKEditor 和 WP SyntaxHighlighter

 

 

WordPress 的默认编辑器的不好用那是没的说,于是就想到了用 CKEditor 来代替 WordPress 的默认编辑器。

在 WordPress 中安装 CKEditor 很简单,我就不多说了。只要在插件中搜索 "ckeditor",大概第一个结果就是,把它装上,然后 Active 就可以了。

SyntaxHighlighter 是一个在 WordPress 中高亮显示代码的插件。在 WordPress 中安装 SyntaxHighlighter 的方法和安装 CKEditor 一样,只要在插件中心搜索 "SyntaxHighlighter",选择 WP SyntaxHighlighter 安装并 Active 就可以了。

虽然这两个插件都能简单地安装,但是要在 CKEditor 中编辑高亮显示代码却还得通过编写 HTML 来实现,这不得不说是一个悲剧。对于我这种有洁癖的码农来说,这个问题没有一个解决方案就算没完。

好在 3 年前有大虾为 CKEditor 这写了一个叫 Ckeditor-SyntaxHighlight 的插件,帮我解决了这个问题。

安装的方法和官方提供的方法一样,只要将下载来的 ckeditor-syntaxhighlight 插件放到 CKEditor 的 plugins 目录,注意是 $wordpress/wp-content/plugins/ckeditor-for-wordpress/ckeditor/plugins 目录,不是 ckeditor-for-wordpress 目录下的那个 plugins(详见 Quick Installation Guide)

然后辑 CKEditor 的配置文件:$wordpress/wp-content/plugins/ckeditor-for-wordpress/ckeditor.config.js,加入两行代码后改成:

/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

/**
 * Documentation:
 * http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html
 */

CKEDITOR.editorConfig = function(config) {
	// The minimum editor width, in pixels, when resizing it with the resize handle.
	config.resize_minWidth = 450;

	// Protect PHP code tags (&lt;?...?&gt;) so CKEditor will not break them when
	// switching from Source to WYSIWYG.
	config.protectedSource.push(/&lt;\?[\s\S]*?\?&gt;/g);

	// Define toolbars, you can remove or add buttons.
	// List of all buttons is here: http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.toolbar_Full

	// WordPress basic toolbar
	config.toolbar_WordpressBasic = [ [ 'Bold', 'Italic', '-', 'Link', 'Unlink', '-', 'Blockquote' ] ];

	// WordPress full toolbar
	config.toolbar_WordpressFull = [
			['Source'],
			['Cut','Copy','Paste','PasteText','PasteFromWord','-','SpellChecker', 'Scayt'],
			['Undo','Redo','Find','Replace','-','SelectAll','RemoveFormat'],
			['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar'],
			&#39;/&#39;,
			['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
			['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
			['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
			['BidiLtr','BidiRtl'],
			['Link','Unlink','Anchor'],['Code'],
			&#39;/&#39;,
			['Format','Font','FontSize'],
			['TextColor','BGColor'],
			['Maximize', 'ShowBlocks'],['MediaEmbed'],['Iframe']
		];
	
	//IE: remove border of image when is as a link
	config.extraCss = &quot;a img { border: 0px\\9; }&quot;;
		
	// mediaembed plugin
	// config.extraPlugins += (config.extraPlugins ? &#39;,mediaembed&#39; : &#39;mediaembed&#39; );
	// CKEDITOR.plugins.addExternal(&#39;mediaembed&#39;, ckeditorSettings.pluginPath + &#39;plugins/mediaembed/&#39;);
	config.extraPlugins += (config.extraPlugins ? &#39;,syntaxhighlight&#39; : &#39;syntaxhighlight&#39; );
};

完成以后 CKEditor 的 Toolbar 中就会出现一个漂亮的 “Code” 按钮了。

百度分享居中和居右的代码

您可以通过在我们的分享按钮html标签外设置div或其他容器来套用您的样式,也可以直接加入class名称到我们的html标签里

设置分享按钮的居中对齐:

<style>
.alignCenter{
	width:270px; //这里的数值,您可以根据您按钮的实际宽度进行设置
	margin:0 auto;
}
</style>
<div>
<!-- Baidu Button BEGIN -->
	<div id="bdshare">
	    <a></a>
	    <a></a>
	    <a></a>
	    <a></a>
	    <a></a>
	    <span>更多</span>
	</div>
    <script type="text/javascript" id="bdshare_js" data="type=tools" ></script>
    <script type="text/javascript" id="bdshell_js"></script>
    <script type="text/javascript">
        document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + new Date().getHours();
    </script>
<!-- Baidu Button END -->
</div>

设置分享按钮的居右对齐:

<style>
.alignRight{
	float:right;
}
</style>
<!-- Baidu Button BEGIN -->
<div id="bdshare">
    <a></a>
    <a></a>
    <a></a>
    <a></a>
    <a></a>
    <span>更多</span>
</div>
<script type="text/javascript" id="bdshare_js" data="type=tools" ></script>
    <script type="text/javascript" id="bdshell_js"></script>
    <script type="text/javascript">
        document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + new Date().getHours();
    </script>
<!-- Baidu Button END -->

当然,如果您有更好或更为简单的解决方案也欢迎您能够告知我们,分享您的方案,让更多使用者享受您的便捷

 

如何让百度分享按钮更加符合我的页面要求?

百度分享按钮按照它本身设计设定了简单的默认样式,但可能并不能完全满足您的页面呈现,为此我们推荐您可以将百度分享按钮写入您的自定义样式区域里,比如:

<style>
.userStyle{  //您可以按照您的页面需要,自主定义外套样式,给您更大的灵活性
	width:100%;
	height:30px;
	background:#ccc;
	display:block;
}
</style>
<div>
<!-- Baidu Button BEGIN -->
    <div id="bdshare">
        <a></a>
        <a></a>
        <a></a>
        <a></a>
        <a></a>
        <span>更多</span>
    </div>
    <script type="text/javascript" id="bdshare_js" data="type=tools" ></script>
    <script type="text/javascript" id="bdshell_js"></script>
    <script type="text/javascript">
        document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + new Date().getHours();
    </script>
<!-- Baidu Button END -->
</div>

wordpress中文标签无法显示解决方法

wordpress是最受欢迎的博客系统,但这个是外国人开发的,对中文的支持多少有点问题。比如tag标签,中文是无法显示的。就添加了带有中文的标签,点击标签会显示没有找到,这是因为wordpress不支持中文编码。需要解决这一问题就需要让wordpress支持中文编码,UTF-8、GBK。

 

操作步骤:

打开wp-include中的classes.php文件,找到第154行和第159行代码进行修改。

第154行原代码:

$pathinfo = $_SERVER['PATH_INFO'];

替换为:

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], “UTF-8″, “GBK”);

第159行原代码:

$req_uri = $_SERVER['REQUEST_URI'];

替换为:

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], “UTF-8″, “GBK”);

修改好了之后,保存,然后将保存后的classes.php文件上传到服务器并覆盖原文件即可。

刷新页面后,再来看一下中文标签,看看是不是正常了。

WordPress永久链接格式对比及设置参考

WordPress永久链接又叫固定链接,官方称Permalink,就是对日志、分类、标签等URL路径进行友好格式化显示,也就是看起来舒服一点,更方便搜索引擎的收录和分析,而真正意义上的固定链接,应该是伴随着静态化的,合理的URL结构会让日志、分类和标签管理更加合理,更加方便归类和整理,比如Windows方面文章放到Windows目录下,汽车方面文章放到auto下当然更加合理,既然Wordpress使用的都是伪静态或说伪动态,那么URL永久链接就纯粹为了好看和搜索引擎优化,优点就是实时生效,天缘博客则是真静态化,整体设置只要修改就要刷新全部静态页,各有优缺点。

一、Wordpress固定链接全是假的

这个标题有点外行,只是为了方便理解,实际上应该叫Mod Rewrite,打个比方就是网上很多IDC留下的电话号码,为了给别人大、正规的假象,往往设置很多分机,比如888888-741、888888-874等等,实际上,你打任何分机过去,可能都是一个人在接,公司也可能只有一个员工,这堆分机放到本文理解就是Mod Rewrite。这个员工就是index.php。

使用WordPress永久链接的前提,要求所在主机必须支持Mod Rewrite重写。

WordPress默认URL格式:

/?p=postid

/?cat=cateid

/?tag=mytag

这三种类型地址格式是真的,根下的index.php确实存在这些参数的接收和处理,所以即使没有重写功能,也并不影响这类默认URL格式使用,但如要使用自定义的固定链接格式,则必须具有Rewrite功能,否则会全部报告404错误。

二、如何设置WordPress永久链接

登录到WordPress后台,然后点击左侧工具栏菜单Setting(设置)-》Permalink Setting(固定链接),如下图:

固定链接包含两个部分:

日志路径——有五个选项,默认格式就是上文提到的动态参数格式。

分类和标签路径——只有日志处于默认设置时,分类和标签默认路径才是上文的动态参数形式。

日志永久链接包括的标签变量有:

%year%、 %monthnum%、%day% 、%hour% 、%minute% 、%second%——分别代表年月日时分秒

%post_id%——日志ID

%postname%——日志别名

%category%——日志分类

%tag%——日志标签

%author%——日志作者

由于分类和标签URL格式,可能会随着日志永久链接变化而变化,所以设置设置好日志永久链接后一定要检查分类和标签链接格式是否合意,否则需对应修改,修改方法参考下文,或结合官方说明地址

三、WordPress日志永久链接设置

1、若非特殊用途,%hour% 、%minute% 、%second%和%author%、%category%、%tag%慎用,感觉对个人博客完全没有必要,WordPress似乎纯粹为了功能完整性而设计出来。如果日志URL中带有%category%和%tag%,某天日志分类或标签被修改掉,URL可能就会变化。

2、%year%、 %monthnum%、%day%建议只在多人博客或多具有时效性日志的博客上使用,当博客上每天都多篇日志或具有时效性的新闻发布时,可以考虑这种格式,典型URL格式如下:

/%year%/%monthnum%/%postname%

/%year%/%monthnum%/%day%/%postname%

 

/%year%/%monthnum%/%postname%/

/%year%/%monthnum%/%day%/%postname%/

这四种格式,后面两种可以在上面图中直接选择,上面自定义一下,去掉反斜线即可,如果你的日志并不多,没必要使用此种格式。

3、个人博客建议下面三种形式之一:

方式1:

/archives/%postname%.html

/archives/%post_id%.html

/%postname%.html

——这三种看起来比较标准,对搜索引擎也比较友好。其中archives也可换成自己喜欢的单词,比如blog等,也可把尾标换成.html、.htm、.php等,也可自定义尾标。把路径直接定位到网站根目录的(第三种),在很多国外网站上也很常见。

方式2:

/archives/%post_id%

/archives/%postname%

/%postname%

——这三种地址更短一点,看起来也很不错,打算一直似乎也WordPress的用户可以优先考虑,如果哪天换系统或突然主机不支持重写了可能会带来麻烦。

方式3:

/archives/%post_id%/

/archives/%postname%/

/%postname%/

——个人感觉这三种地址最古怪,据说对搜索引擎更好,还是认为带个直接没有反斜杠或带个尾标似乎更好。因为那样更像一个标准的路径及目标文件名,而且带尾标的的路径即使在不支持MOD REWRITE的主机上也很容易实现“真静态”。

另外,类似/index.php/2010/06/27/windows-7/这样的地址就更不要采用了,已经完全脱离URL的样子,太另类了。

更多讨论:天缘征询:关于博客日志、分类和归档目录路径的讨论

四、WordPress分类及标签永久链接设置

默认的分类和标签路径也都是动态的,所以一旦修改了日志永久链接,默认的WordPress分类及标签链接可能也会变化,需注意检查。

假设日志路径选择的是/archives/%post_id%.html,下面的分类和标签路径可能默认如下:

/archives/category/mycate

/archives/tag/mytag

很明显,这个默认路径有点长,如果再存在二级分类,那么URL很容易超过四五级,可以改成下面的样子(如上文插图,试验一下就知道):

设置为“category”后:/category/windows-7

设置为“tag”后:/tag/mytag

这样的路径更简短一些,这样从访客角度看来,日志放到archives(blog)目录下,分类放到category目录下,标签放到tag目录下,各得其所,非常明了。

五、关于WordPress永久链接的几点事项

1、最好不要在URL中出现中文,天缘也看到有些博客的URL使用到中文字符串,可能是为了方便,也可能是个人爱好,多字节字符作为URL就像是“.中国”域名那样,还有中文网址,毕竟太中国特色,在互联网上还是抛弃掉吧。

2、是否设置为伪静态URL格式,比如带.html等扩展名,看个人爱好。

3、链接深度不要太多,十不过三最好不要超过三级、带子分类别超过四级,每天有多篇文章更新的博客的,可以考虑带年月日的URL路径,个人博客写不了那么多篇原创文章的,就无需使用年月日URL。比如天缘目前使用的archives/id.html格式,也可使用blog/post-name.html格式,对个人博客足够使用的了。

4、是否使用post_id也要看个人爱好了,因为WordPress跟zblog还不同,自动保存草稿、页面等都保存在一个数据表中,所以这个ID是不连续的,所以博客路径看起来很不爽(可能天缘有洁癖,呵呵,总希望ID是连续的),所以使用WordPress还是建议使用postname,尤其是英文博客几乎清一色的都是有postname,中文博客可能对英文有点要求,也可以找找插件,要么就用id了,汉语拼音用在URL上怎么讲还是有点长。

5、永久链接在博客建立之初就需设置好,一经设置就最好别动了,错就错到底就是没有错。

SyntaxHighlighter详细配置

一 什么是SyntaxHighlighter?

SyntaxHighlighter一个基于JavaScript实现的将网页中展示的代码根据语法高亮显示功能

 

 

二 为什么选择SyntaxHighlighter?

SyntaxHighlighter功能全面,并且独立可以引用到任何网页。

wordpress写博客,一般有2种代码高亮方式:1是代码高亮插件,其中很多都是基于SyntaxHighlighter开发的,通过js后渲染的;2是通过windows live writer的code snippet插件或code render的直接把代码做成高亮语法的html代码

2种方式各有优势,后一种方式加载速度快,页面打开即语法高亮,缺点是修改部分代码后要重新生成所有代码

我个人倾向于采用第一种方式,但不建议使用插件,建议直接将SyntaxHighlighter整合到主题中,按需来加载JS,详细的方法我会在后面介绍

 

三 效果演示

 

 

四 安装步骤

 

 

1、 引入shCore.js 和 shCore.css ;

2、 引入所需要的brushes,比如高亮显示JavaScript需要引入shBrushJScript.js;

3、引入级联样式表文件:shCore.css 和 shThemeDefault.css ;

4、 用<pre>标签标识准备高亮显示的代码段;

5、 调用SyntaxHighlighter.all()方法。

代码示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>SyntaxHighlighter Build Test Page</title>
	<script type="text/javascript" src="scripts/shCore.js"></script>
	<script type="text/javascript" src="scripts/shBrushCSharp.js"></script>
	<link type="text/css" rel="stylesheet" href="styles/shCore.css"/>
	<link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css"/>
	<script type="text/javascript">
		SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf';
		SyntaxHighlighter.all();
	</script>
</head>

<body >
<h1>SyntaxHihglighter Test</h1>
<p>This is a test file to insure that everything is working well.</p>

<pre class="brush: c-sharp;">
function test() : String
{
	return 10;
}
</pre>
</html>

 

  1.  
四 详细配置

 

 

SyntaxHighlighter.config中的配置项的作用范围是被高亮显示的整个代码块,而对于代码块中单行的代码则没有什么意义,以下为具体配置项的说明:

Name Value Description
bloggerMode false 如果你要高亮的内容位于blogger.com,那么你需要开启这个开关。
strings Object 该配置项允许你修改默认信息。
stripBrs false 该选项会自动过滤掉被高亮代码块中每行后面自动添加的<br />标记
tagName "pre" 该配置项允许使用其他标签来标识代码块。

代码示例:

SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();

 

 

SyntaxHighlighter.defaults中的配置项的应用对象是代码块中的单行代码。

Name Value Description
auto-links true 是否自动检测代码块中的超链接。关闭该配置型,则代码块中的链接被关闭,无法点击进入。
class-name '' 加入自定义样式。
collapse false 代码块是否默认折叠。
first-line 1 该配置项允许修改起始行的行号。
gutter true 该配置项用来设置行号显示与否。
highlight null 该配置项用来着重显示某些代码行。可以通过单个数字来着重显示单行,或者传入一个类似 [1, 2, 3] 的数组来着重显示指定的多行。
html-script false 开启该配置项可以高亮显示HTML/XML代码,这在WEB开发中非常常见。开启该配置项需要shBrushXml.js的支持,同时你的brush也需要支持该特性。
smart-tabs true 该配置项用来开启或关闭 mart tabs 特性。
tab-size 4 该配置项用来设置代码块中tab键的大小。
toolbar true 配置项用来设置工具栏的显示与否。

 

代码示例:

SyntaxHighlighter.defaults['gutter'] = false;
SyntaxHighlighter.defaults['smart-tabs'] = false;
...
SyntaxHighlighter.all();

 

 

Parameters
Parameters仅在当前代码段中生效,我们可以利用Parameters的这个特性为同一页面的不同代码段设置不同的高亮效果。Parameters利用键值对进行设置,这种形式同CSS非常类似。

通过设置Parameters,我们可以修改 SyntaxHighlighter.defaults 中的任意配置项的默认值。

代码示例:

<pre class="brush: js; ruler: true; first-line: 10; highlight: [2, 4, 6]">...</pre>

 

 

 

 

利用word 2007发布wordpress博客(图解)

一直传闻说可以用word2007发布wordpress博客,于是今天兴趣使然,由于本人使用的office 2007 pro的!所以省去专门安装office套件的麻烦,直接可以使用word编辑好文章。然后进入发布wordpress过程:

1.点击word2007最左上角的office按钮,选择发布选项,并从弹出菜单中选择博客选项;

2.在弹出窗口中选择立即注册选项;

3.在弹出窗口中的博客提供商里面选择wordpress;

4.在新建wordpress窗口中填写博客的地址,用户名和密码;

xmlrpc这要在wordpress里面的设置“发布”里面开通这个功能(wordpress默认是关闭的)

5.把文章标题填上,并且你可以选择直接发布,或者发布为草稿;

这样:整个用word发布博客wordpress已经完成,整体感觉比在后台方便……毕竟一个专业文档处理工具,一个只是后台发布心系统,至于上手的话,个人感觉还是需要点时间的!但是功能上还是对网络支持不是最好,最好有专业的插件支持。

 

WORDPRESS 分类图标插件——CATEGORY ICONS

选用图片来识别不同分类,效果总比采用文字的好,难道不是吗~~

Category Icons就是这么一款插件,只要你调用分类函数,就会自动输出你所设置的分类图片。你也可以在想要显示分类图片的地方,输入代码来实现调用。同时一个分类可以设置好几个图片,可以在选定地方调用大图标或小图标。插件自带了中文,可以在WordPress中直接搜索安装

在后台可以设置你所想选用的各个分类的不同图标。

插件作者的主页,国内似乎上不去,但试了一下用代理还是可以上的。

插件主要有两个基本调用函数:put_cat_icons() 和 get_cat_icon()。

1. put_cat_icons()

这个函数可以让你的sidebar实现分类图标化。

put_cat_icons(list [,get_cat_icon_parameters])

其中list : 指wp_list_categories() 这个函数。

Example :

例如在sidebar栏你可以如下这么写,可以在分类旁输出你选定的图片,记住一定要添加“echo=0”。

如果你加上‘icons_only=true’,则只有显示分类图片而不显示分类名称。

2. get_cat_icon()

这个函数可以在任何位置调用你选定的分类图片。

type, [default_value], parameter_name_to_use : description.

  • string, align : align attribute for the image tag.
  • boolean, border : If true the border will be displayed. If false, it’ll not. (Don’t use this if you want valid Strict XHTML)
  • int, [current_category], cat : Category ID. If not specified, the current category is used or the current post’s category.
  • string, class : Class attribute for the image tag.
  • boolean, [true], echo : If true the html code will be ‘echoed’. If no, it’ll be returned.
  • boolean, [false], expand : Whether the image should be expanded to fit the rectangle specified by fit_xxx.
  • int, [-1], fit_height : Maximum height (or desired height if $expanded=true) of the image.
  • int, [-1], fit_width : Maximum width (or desired width if $expanded=true) of the image.
  • boolean, [false], hierarchical : If true, the icons are displayed in hierarchical order (horizontally).
  • boolean, [true], link : If true the image is made a hyperlink (wrapped by anchor tag).
  • int, [3], max_icons : Maximum number of icons to display
  • string, prefix : String to echo before the image tag. If no image, no output.
  • boolean, [true], small : Use the small icon.
  • string, suffix : String to echo after the image tag. Ignored if no image found.
  • boolean, [false], use_priority : If true, only the most prioritized icon will be displayed.
  • boolean, [false], vertical_display : Display the icons vertically.

Examples

在你想调用的地方输入以下代码:

<?php get_cat_icon(); ?>

如果调用方式如上,则表示调用分类小图标,长宽分别为32px和20px,图片css类别名为”myicons”。从而你可以在”myicons”中设定图片显示位置。

如:

.myicons {
margin : 0 3px 0px 0;
}

如果调用方式如下,则表明在这里调用分类ID号为“5”的图片,长宽分别为100px和100px,如果图片偏小则自动拉大。

<?php get_cat_icon(‘cat=5&fit_width=100&height=100&expand=true’); ?>

插件作者主页:http://www.category-icons.com,需用代理访问。

 

在HotNews pro中使用Category Icons插件的分类图标

最近WordPress建了下博客,在折腾遍官网上所有主题之后,还是选择了国人开发的HotNews pro,布局样式更适合自己口味呢。

唯一的缺陷就是HotNews pro的分类图标要根据类别的别名来命名通过ftp上传,不太方便后期维护和管理这些图标。很多人应该都有用过分类图标插件,英文名称Category Icons,提供很方便的分类图标管理和调用的函数。Category Icons的使用方法这里不介绍了,请参阅WORDPRESS 分类图标插件——CATEGORY ICONS

如何在HotNews pro(热点新闻)主题中使用分类图标插件呢?

  1. 打开HotNews pro主题中的cat_ico.php,它的路径应该是/wp-content/themes/HotNewspro/includes/cat_ico.php
  2. 将原始代码
<?php if (get_option('swt_ico') == 'Display') { ?>
	<div class="cat_ico">
		<?php
			foreach((get_the_category()) as $cat)
			{
			$catname =$cat->category_nicename;
			$cattitle=$cat->cat_name;
			echo "<a href=/category/";
			echo $catname;
			echo "/>";
			echo "<img src=/wp-content/caticon/";
			echo $catname;
			echo ".gif alt=\"$catname category \" title=\"$cattitle\" /></a>\n";
			}
		?>
	</div>
<?php { echo ''; } ?>
<?php } else { } ?>

替换成:

<?php if (get_option('swt_ico') == 'Display') { ?>
	<div class="cat_ico">
		<?php
			if (function_exists('get_cat_icon'))
			{
				get_cat_icon('class=cat_ico');
			}
			else
			{
				foreach((get_the_category()) as $cat)
				{
				$catname =$cat->category_nicename;
				$cattitle=$cat->cat_name;
				echo "<a href=/category/";
				echo $catname;
				echo "/>";
				echo "<img src=/wp-content/caticon/";
				echo $catname;
				echo ".gif alt=\"$catname category \" title=\"$cattitle\" /></a>\n";
				}
			}
		?>
	</div>
<?php { echo ''; } ?>
<?php } else { } ?>

 

完成之后在主题设置中只要分类图标中设置了分类图标Display并且安装了Category Icons插件,那么就会显示Category Icons的分类图标;如果没有安装Category Icons插件,就会显示热点新闻主题自带的分类图标了!