文章标签 ‘WordPress’
一直都在用wordpress的HTML编辑器,经常要添加链接,可是HTML编辑器里的添加链接按钮并没有“在另一窗口打开”这一选项。于是修改其js源码解决之。
方法如下:
打开wp-includes/js/quicktags.js,查找
1 | if(a){edButtons[c].tagStart='<a href="'+a+'">'; |
修改为:
1 | if(a){edButtons[c].tagStart='<a href="'+a+'" target="_blank">'; |
WordPress3.1版本发布有一段时间了。该版本不仅仅有自动保存历史版本的功能(通常都用不着,还会造成一些垃圾数据),还增加了一个自动保存草稿的功能。你每次点击”add new”时都会在post表中保存一条状态为“auto-draft”的后台不可见记录,同样会造成一些垃圾数据以及ID的不连续性。
为保证尽量减少数据库中的垃圾和保持日志ID的连续性,人们想了很多办法,各显神通。但大部分都是采用插件形式。插件形式仅仅能禁止日志的历史版本,却对自动插入的状态为”auto-draft”的记录无能为力。而且这种记录并不能在wordpress的后台看到。对于追求完美和有洁癖的人来说,这些记录实在是很烦人。
禁止自动生成 auto-draft 的不可见草稿:
在wp-admin/includes/post.php中,从第374行开始,有一个if判断,代码如下:
1 2 3 4 5 6 7 8 | if ( $create_in_db ) { // Cleanup old auto-drafts more than 7 days old $old_posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date" ); foreach ( (array) $old_posts as $delete ) wp_delete_post( $delete, true ); // Force delete $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ); $post = get_post( $post_id ); } else { |
解释一下这段代码的功能,首先,清除七天以前的自动草稿,然后插入一条新草稿,如果你继续写文章并发布,那么这条草稿就被使用了,包括在后台首页有一个快速发布,也用到了这个。但如果你仅仅是点击了new post(添加文章),接下来没有输入任何内容就跳到别的页面去了或关闭了,此时仍然会生成一个自动草稿,而这个草稿,是后台不可见的,是垃圾数据。
所以修改了一下代码,将这个if判断中的内容替换成以下内容,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | if ( $create_in_db ) { // modify by akii start global $current_user; $post_auto_draft = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_status = 'auto-draft' AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1" ); if ($post_auto_draft){ $post = $post_auto_draft; } else { $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ); $post = get_post( $post_id ); } // modify by akii end } else { |
原理及说明:当数据库中有一条或多条状态为”auto-draft”的自动草稿时,取ID最小的,新文章即使用此条记录。如果没有此种类型的数据,才会新插入一条数据。并且查询数据时是根据当前的用户来判断,不会出现多用户时出错。这样就可以避免了自动草稿(auto-draft)的冗余垃圾数据。保证了日志ID的连续性。但最后我要提醒一句,如果你在日志中添加了附件,如图片,那么该图片也会占用一条数据,即一个连续的ID,所以,如果你以ID形式,发现日志有时候不是连续的ID了,那么,有可能是你日志的附件占用了临近的ID。
WordPress一个让人很蛋疼的功能在编辑文章的时候默认自动保存草稿,这一点会造成服务器的负担加重,影响网页加载速度,另外,产生的草稿文件也会使数据库过于庞大,维护不便。还会使得文章ID不连续,让人头疼。
在以前的版本使用Disable Autosave插件就可以搞定,现在3.0.1下不好使了。
解决方法:在wp-config.php文件中加入
1 2 | define('WP_POST_REVISIONS', false); define('AUTOSAVE_INTERVAL',999999999); |
这两行代码,然后编辑wp-admin/includes/post.php文件,在
1 | if ( $create_in_db ) { |
语句之前加入一行
1 | $create_in_db = false; |
搞定。
在这段wordpress建站历程中,曾经遇到这样类似的错误提示:
Fatal error: Allowed memory size of 33554432 bytes exhausted …
出现错误怎么办呢?逅客百度Google找寻了下,大概意思就是提示wordpress内存不足。根据问题导致原因所不同,大概有这么几个解决办法。
一、如果是php.ini中限制的(前提是空间支持ini):
1、首先在public_html 目录创建文件 php.ini,添加以下代码:
1 | memory_limit = 88M |
然后在根目录下修改.htaccess文件,添加下面代码:
1 | suPHP_ConfigPath /home/username/public_html/ |
2、同样是修改php.ini
先在网站根目录下,建立一个php.ini文件,写入下面这句:
1 | memory_limit = 88M |
接着再到网站根目录下修改.htaccess这个文件,写入下面这句:
1 | SetEnv PHPRC /home/host1/public_html/usr1/ |
(unix path to the directory where php.ini is)
(keep the slashes)
二、如果是因为wordpress插件安装过多导致的。一般停用一些wordpress插件即可解决问题。如果不想停用插件,也可以采取放宽内存限制的方法:
1、修改WP配置文件。
编辑wp-config.php这个文件,在加上一句:
1 | define('WP_MEMORY_LIMIT', '88M'); |
上面88M这个数字可根据情况修改为更大数值,比如168M。
2、打开wp-settings.php在第十三行找到如下语句:
1 | define('WP_MEMORY_LIMIT', '32M') |
将其中32修改为更大数值即可。
第一步、用photoshop等图形处理工具制作一个小日历效果的图标,一般为45*50,这个根据自己主题而定,上传到主题下的图片文件夹。

第二步、用EditPlus打开你所启用的主题的index.php文件。(ps:每次写文章,都要提到这一步,因为这步涉及到wordpress的编码问题,不得马虎。)找到标题这一行:
1 | <h2><a class="title" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2> |
在这一行前插入以下代码:
1 2 3 4 | <div class="contentdate"> <h3><?php the_time('m'); ?> - <?php the_time('y'); ?></h3> <h4><?php the_time('d'); ?></h4> </div> |
这两行的含义请参考:wordpress中如何调用时间及时间格式汇总
第三步、接下了就是通过强大的css来控制这个能够让你的页面焕发盎然生机的WordPress标题小日历效果了。打开主题style.css,在其中加入一下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /*标题日历图标*/ .contentdate { background: #FFFFFF url(img/date.gif); background-repeat: no-repeat; float: left; width: 40px; height: 45px; margin-right: 3px; padding: 0px; } .contentdate h3 { color: #FFFFFF; font-size: 11px; font-weight: normal; padding-top: 2px; text-align: center; margin: 0px; text-transform: uppercase; } .contentdate h4 { color: #999999; font-size: 18px; font-weight: bold; padding-top: 5px; margin: 0px; text-align: center; } |
搞定收工!
周数
W:ISO-8601格式年份中的第几周,每周从星期一开始(PHP 4.1.0新加入),例如:42(当年的第42周);
日
d:月份中的第几天,有前导零的两位数字,例如01 到 31;
D:星期中的第几天,以文本表示,截取对应英文名称的前三个字母,例如Mon到Sun;
j:月份中的第几天,没有前导零,例如1 到 31;
l(L的小写形式):星期几,完整的文本格式,例如Sunday到Saturday;
N:ISO-8601格式数字表示的星期中的第几天(PHP 5.1.0新加入),例如1(表示星期一) 到7(表示星期日);
S:每月天数后面的英文后缀,2 个字符,例如st,nd,rd和th,可以和j一起使用;
w(W的小写形式):星期中的第几天,数字表示,例如0(表示星期日) 到 6(表示星期六);
z(Z的小写形式):年份中的第几天,例如0 到 366;
阅读全文…

圆角导航栏标签
这里我们需要用到四张图片,其中各有两张用于当前导航栏状态和激活之后的导航栏状态样式。我将其命名为navleft,navright和avleft_active,navright_active.其中navright和navright_active应该足够长,以适应那些长的分类目录或者是分
类页面。
阅读全文…
这款插件是国人写的一款自动添加关键词链接的插件,内链优化这类的插件比较多,选这款的原因,主要考虑此插件是国人做的,应该为中文方面考虑的比较多,另外,此插件还具有如下特点。
WordPress keyword Link插件特点:
- 完美支持中文关键词链接,分别区分英文与中文关键词
- 修正编辑中文关键词时乱码问题
- 解决替换关键词已有链接的问题.文章中已有的链接将不会匹配.
- 解决与WordPress Wiki插件的冲突问题。
- 汉化了部分内容。
WordPress keyword Link插件安装:
- 下载WordPress keyword Link插件,将压缩包解压后,把文件夹上传到wp-content/plugins/目录下。
- 登录WordPress管理后台,点击“Plugins”找到上传的插件,激活该插件。
- 插件激活后,在“Settings”–>“WP KeywordLink”中进行相关设置。
- No Follow – 在链接加多一个属性:rel=’no follow’ ,使用Nofollow属性让搜索引擎不要抓取并追踪此链接.
- First Match Only – 仅仅匹配第一个关键词, 建议勾上.
- New Window – 在链接加上 target=’_blank’的属性, 在新窗口打开.
- Ignore Case – 不匹分大小写,如”Google”, “google” 或者 “gooGLE” 都会匹配到.英文关键词有效(不推荐使用)
- Is affiliate – 勾上表示内链,同外链区分,这里要添加下面提到的CSS样式。
- Filter in comments – 勾上匹配替换评论区里的关键词.
- For zh_CN – 勾上支持中文关键词. 英文关键词不推荐勾上。
设置好相关内容后,添加你博客的关键词和链接,那么,在你发布文章后,文章里的关键词,就会自动搜索匹配文章里的关键词。
点击下载:WP keyword Link插件下载地址
点击进入:WP keyword Link插件作者地址
在改主题的时候遇到一个麻烦的问题.虽然官方有语言包对WordPress进行汉化,但是发现翻译的和我想要的不一样.于是就上网查了查.找到了一个好用的工具.我们知道语言包是两个文件:zh_CN.po和zh_CN.mo如果你想用文本编辑器来修改.po文件的话是没有作用的.修改.po的同时还必须修改.mo文件而.mo是没法编辑的.这时候就得用”po-edit”了.按下面的步骤做就可以改成你想要的翻译效果.

阅读全文…
官方的介绍:
With page numbers instead of next and previous links users can easily navigate much quicker to the page they want. It is good for SEO (Search Engine Optimization) as well, because it creates a tighter inner link structure. Works with all well known browsers (Internet Explorer, Firefox, Opera and Safari).
这款插件不仅仅使我们的博客翻页更加的方便,尤其是对于博客内容较多的博客,大大提高了用户体验。而且,相比起原本单调的翻页功能,这款插件也可以使我们的博客看起来更加的美观。
未使用这款插件前的分页导航:

使用了WP Page Numbers分页插件后的分页导航:

插件上自带了几种不同的款式:


