RSS

最新文章函数不显示指定分类

2008年07月18日 | ghSky | 浏览: 880   

0 Comments

启用了Video分类,但是不希望这个分类的文章在“最新文章”中显示,怎么办呢?只能过滤分类了。可是现在的WordPress数据库比较奇特,在文章的wp_posts属性里面category已经被全部指定为0 :mrgreen: (汗一个,那文章分类在哪里呢?)原来在现在的WordPress中引用了term_taxonomy(下简称tt)、term_relationships(下简称tr)来确定分类关系~~自己还是不大明白为啥要用那么复杂的办法捏 :question:

怎么排除这个分类的文章呢?参考了“相关日志”这个插件的一些代码,不过作者的思路比较高深,我这种随便玩玩php的人自然很难看懂,所以就用了一些比较笨的办法来实现相关的排除分类。这里就摘取了相关的一段代码:p.s.排除的分类ID修改变量$ex_id即可

  1. //Recent Posts
  2. function get_recent_posts($no_posts = 10, $before = '<li>', $after = '</li>', $show_pass_post = false, $skip_posts = 0, $ex_id = '47') {
  3.     global $wpdb, $post, $table_prefix;
  4.     $exclude = explode(",",$ex_id);
  5.     $q = "SELECT tt.term_id, tr.object_id FROM ". $table_prefix ."term_taxonomy tt, " . $table_prefix . "term_relationships tr WHERE tt.taxonomy = 'category' AND tt.term_taxonomy_id = tr.term_taxonomy_id";
  6.     $cats = $wpdb->get_results($q);
  7.     $cnt = 0;
  8.     foreach($cats as $cat) {
  9.         if (in_array($cat->term_id, $exclude) == true){
  10.             $ex_post_id[$cnt] = $cat->object_id;
  11.             $cnt++;
  12.         }
  13.     }
  14.     $ex_post_out = 'p.ID !=';
  15.     for ($i = 0; $i <= $cnt-2; $i++) {
  16.         $ex_post_out = $ex_post_out . $ex_post_id[$i] . ' AND p.ID !=';
  17.     }
  18.     $ex_post_out .= $ex_post_id[$cnt-1];
  19.     $request = "SELECT p.ID, p.post_title, p.post_date, p.post_content FROM $wpdb->posts p WHERE $ex_post_out AND p.post_status = 'publish' AND p.post_type = 'post'";
  20.         if(!$show_pass_post) { $request .= "AND post_password ='' "; }
  21.     $request .= "ORDER BY post_date DESC LIMIT $skip_posts, $no_posts";
  22.     $posts = $wpdb->get_results($request);
  23.     $output = '';
  24. ...

大概原来就是先从表中确定是category的项目,然后再对照tt.term_taxonomy_id = tr.term_taxonomy_id的项目,即把分类和文章ID挂上勾,然后再查找所要排除的分类的ID,再从中筛选出来该分类(或几个分类)的文章ID生成数组ex_post_id,再用一点儿字符串链接的方法结合成字符串p.ID != xxx以便在查询最新文章的时候排除这个几个ID,然后就大功告成了~~~研究这个真的花了不少时间,首先mysql的查询就比较头大,然后php数组问题也卡了一下(原来数组赋值和pascal一样,只不过不用事先声明数组),基本就这样咯~~

最近对WP的一些动作

2008年06月12日 | ghSky | 浏览: 736   

15 Comments

最近,在小影唆使下,更新了原来的破主题,其实自己高考前就想高考完了换主题。他小子给我看了个不错的主题Fresh News,看似很不错,不过是收费的,而且费用高达99.95美刀(额滴神啊~~~),快有一个Windows Vista Released贵了……不过那小子不知从哪里居然搞到了主题文件,汗,佩服他一下……但是用上后,发现这个主题那是相当复杂,复杂,……,复杂!个人使用不了那么多功能,所以我就想正好练练PHP CSS吧,就开始了精简工作,和那小子一起搞。经过4天的努力,基本搞定了,就是现在这个应用的样子。在这期间我算是认识到了JS的威力,可怕啊,还要再次多谢刺猬哥哥的帮忙哦,哇哈哈,又是他帮忙加了一些不错功能(主要是comments.php里面)!主题兼容性没有自己验证,让小影验证了下,应该基本没问题!哇哈哈,终于搞定了!不过这个主题像这样改了也许会有侵权的嫌疑,所以当然不能把这个主题发布咯,希望原主题的作者表来找我俩的麻烦(其实罪魁祸首是那个提供下载的人)……

昨天随便逛的时候,发现了个相当不错的主题,可惜晚发现了,不然现在可能我就用上那个主题了,大家没事可以去看看,居然那作者还是第一次发主题,就这么精美,Orz 主题:INSay
阅读全文…

提高你博客性能的十条建议

2008年05月26日 | ghSky | 浏览: 686   

12 Comments

虽然文章说是给PJBLOG的用户,但是看了一下,WP用户有些地方也同样适用,所以转过来自己收藏以后看看,也供大家学习学习!
原文来自:dudo

对于服务器租用者来说,要想在硬件环境、网络环境等来改善自身网站性能,受客观因素的影响可能会有比较大的难度。因此,只能退而求其次,在程序上狠下功夫。对于独立博客站长来说,使用的博客程序一般都是比较成熟的发行版的程序,这些程序为了适用的广泛性往往在代码中留出了很大的改进余地,因此,我们可以 在这上面下一些功夫。

我针对PJBlog博客程序(其它独立博客程序和网站也可作为参考)为例说一下改进方法:

1.合并JavaScript文件。无论是在PJBlog还是其它的博客程序中,都使用了大量的外部JavaScript文件,要知道,引入一个外部文件都要 发送一个HTTP请求,而在所有影响页面响应速度的因素中,HTTP请求是最关键的一个,因此把所有的JavaScrip文件合并到一个 javascript.js的文件中是一个很好的做法。不过,你要注意不同的JavaScript文件中使用了不同的变量和函数名称,你要保证它们合并之 后还能正常工作。在某些情况下,你也可以有两个独立的JavaScript文件;

2.精减你的JavaScript文件。合并 JavaScript文件是为了减少HTTP请求次数,但是基本上不会在体积上有所改观,所以你还需要精简掉JavaScript文件中那些没有用的东 西,比如注释、换行、空白等,这大概会使你的程序缩小20%~30%的空间。你可以使用ESC 1.14对文件进行压缩,它的压缩率高达60%以上,对于减少响应大小、提高响应速度来说大有裨益;

3.合并CSS文件与精减CSS文件。和处理JavaScript文件一样,把所有的CSS文件合并到一个style.css中,CSS比 JavaScript 好处理的一点就是它冲突的机率较小,即便有冲突也不会是大问题。精简就去掉多余的样式化的格式,把所有的CSS规则都放到一行中。这款叫作Minify的 程序不但可以压缩CSS还可以压缩JavaScript和PHP程序。不过这里要提醒的是,如果你要合并和精简文件一定要保留原来的文件以便以后程序更改时使用。

4.使用CSS Spirites。所谓的CSS Spirites就是所有CSS中用来做背景图像的图片文件都放到一个文件中。在PJBlog以及其它博客程序的皮肤中,作者很多都没有使用CSS Spirites,这样造成每出现一次background规则都要发送一次HTTP请求,而如果使用CSS Spirites则只需要一次HTTP请求,节省不必要的开支。

5.使用缓存。对于静态内容(如Flash、 JavaScript、CSS、Image)通过加上Expires头或者Cache-Control来把它们缓存到客户端,这样用户在下次访问的时候就 可以不用下载这样内容了,这样减少了HTTP请求的次数又减少了下载文件的大小。在IIS中设置文件头很简单,在你要设置的文件或者文件夹上右键点击—— 属性——HTTP头,然后勾中“启用文件过期”,设定过期时间,可以是一年或者十年等,还可以指定某个未来的时间,如2010年等。不过你一但设置了 HTTP头,如果你要对文件作出修改你需为修改过的文件重新起一个名字。 阅读全文…

给WP加入Ctrl+Enter快捷键回复功能

2008年04月20日 | ghSky | 浏览: 923   

4 Comments

多年以来在QQ上都用惯了Ctrl+Enter的回复模式,在DZ下也可以用这个快速回复帖子!但是在WordPress下却没有这个快捷的功能,今天总算是在朋友(刺猬哥哥)的帮助下搞定了,在此给大家分享一下,就着再次感谢一下刺猬哥哥!

首先是在模版的comments.php加一段JS代码

  1. <script language=javascript>
  2. function ctrlEnter(e){ 
  3.     var theEvent = e?e:window.event;
  4.   if(theEvent.ctrlKey && theEvent.keyCode==13){
  5.       document.getElementById("submit").click();
  6.     } 
  7. }
  8. </script>

记住,最好是加在php的头部!

最后是找到这段,并修改:

  1. <textarea name="comment" id="comment" tabindex="4" rows="4" cols="70" ></textarea>
  2. 修改为:
  3. <textarea name="comment" id="comment" tabindex="4" rows="4" cols="70" onkeyup="javascript:return ctrlEnter(event);"></textarea>
  4. 注意,添加了这段代码:onkeyup="javascript:return ctrlEnter(event);"

哈哈,这样基本上就大功告成了,大家可以尝试做一下试试!

WordPress 2.5 常问问题解答

2008年04月04日 | ghSky | 浏览: 779   

16 Comments

WordPress 2.5 相关问题解答由 WordPress 中文团队Leo 翻译自 FAQ on WordPress 2.5,略有删节。

Q:怎样查看日志 ID 或页面 ID?
A:如果你的浏览器可以在状态栏显示 URL,当你把鼠标悬浮到链接上,可以看到 ID 作为 URL 的一部分而被显示在浏览器状态栏。还可以通过使用 phpMyAdmin 之类的工具来浏览数据库以查看 ID,找到表 wp_posts,post_title 字段是日志或页面的标题,ID 字段即为日志或页面的 ID。(译注:前两天逛插件目录的时候似乎看到了一个在后台直接显示日志 ID 的插件,可惜忘了名字了,请知道的朋友告知)

Q:怎样查看分类 ID?
A:在后台的“管理”-“分类”下,将鼠标移到分类名称上,可以在浏览器的链接中看到该分类的 ID。还可以通过使用 phpMyAdmin 之类的工具来浏览数据库以查看 ID,找到表 wp_terms,name 字段是分类名称,term_id 字段即为该分类的 ID。

Q:我屏幕分辨率是 1280×960,此时后台管理页面偏向屏幕左侧,而不是居中或拉伸到100%。
A:这是刻意这样设计的。但是你可以通过插件 Remove Max Width Plugin 来改变这一点。(译注:Admin Big Width 也可以做到)

Q:如何编辑日志缩略名或页面缩略名?
A:撰写或编辑日志(页面)的时候,日志(页面)缩略名会作为永久链接的一部分显示在标题字段下。如果你使用的是默认的永久链接设置,则不可以查看或编辑永久链接。只有当你的永久链接中含有 %postname% 的时候,才能编辑缩略名。撰写或编辑日志(页面)时,只有填写了标题,才会显示永久链接字段。

Q:撰写日志时候,在哪里设置日志分类和标签?
A:把窗口内容往下拉,这些设置在日志内容编辑框下。

Q:在哪里编辑用户的姓名?
A:在用户列表中,点击用户的名称,即可编辑该用户的资料。

Q:导入链接的功能放在哪了?
A:“撰写”-“链接”页面的“相关操作”区域。

Q:子分类怎么了?难道我不能把“福特”同时作为“新车”和“旧车”的子分类吗?
A:重复的子分类或标签已经不再允许出现。 阅读全文…

Page 1 Of 512345