28个实用的WordPress主题函数使用技巧(上)(2)

来源:博客联盟 时间:2010-06-09 20:47:00 

8,让WordPress底部的版权时间显示的更生动

很多网站的版权时间都显示的是建站时的年份,有些则是显示当下的年份。事实上,这两种方式都不是太好。

最好的方式是显示从网站建设之初的年份到目前的年份位置,类似© 2006 – 2010这种显示方式。

这种效果通过以下的代码可以实现。添加完下面的代码后,系统会自动抓取发布第一篇文章的年份以及最新一篇文章的年份,并把它显示出来。



function comicpress_copyright() {
    global $wpdb;
    $copyright_dates = $wpdb->get_results("
    SELECT
    YEAR(min(post_date_gmt)) AS firstdate,
    YEAR(max(post_date_gmt)) AS lastdate
    FROM
    $wpdb->posts
    WHERE
    post_status = 'publish'
    ");
    $output = '';
    if($copyright_dates) {
    $copyright = "© " . $copyright_dates[0]->firstdate;
    if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
    $copyright .= '-' . $copyright_dates[0]->lastdate;
    }
    $output = $copyright;
    }
    return $output;
    }


把上面的代码添加到了functions.php文件里面后,还需要在 footer.php 任何你想显示版权时间的地方加上如下代码:



<?php echo comicpress_copyright(); ?>


9,给读者投稿文章添加姓名/来源

如果你的博客接受读者的投稿,想在该篇文章出现投稿者的姓名,同时又不想通过添加作者的这种繁琐而麻烦的方式来操作,则可以使用下面的代码。使用下面的代码后,只需要在撰写文章的时候在自定义区域填上投稿者的姓名即可。系统会自动将发布者的名称换成投稿者的名称。

这个代码对接受读者投稿较多的网站,或者是资讯型的网站非常有用(利用它来显示来源)。



add_filter( 'the_author', 'guest_author_name' );
    add_filter( 'get_the_author_display_name', 'guest_author_name' );

    function guest_author_name( $name ) {
    global $post;

    $author = get_post_meta( $post->ID, 'guest-author', true );

    if ( $author )
    $name = $author;

    return $name;
    }


10,启用文章缩略图功能

从WordPress2.9版本开始,可以给模板添加文章缩略图功能。操作方法很简单,只需要把下面的代码添加到functions.php里面。



add_theme_support( 'post-thumbnails' );


然后在要显示缩略图的地方放置下面的代码即可。



<?php the_post_thumbnail(); ?>


11,自定义WordPress 3.0 版本导航栏

WordPress 3.0 增加了一个功能,可以让WordPress模板开发者自定义导航菜单。如果你想给用户一个导航栏的选择权,只需要把下面的代码加入到 functions.php 文件里面。



add_theme_support( 'nav-menus' );


之后把下面的代码复制到你想出新的地方:



<?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_class' => 'menu-header' ) ); ?>


12,移除WordPress默认的个人资料选项

如果你客户的想让用户可以自行添加个人资料,那么需要让这个选项更简单。其中一个方法就是移除部分选项,AIM, Yahoo IM 和 Jabber 之类的东东。



add_filter('user_contactmethods','hide_profile_fields',10,1);

    function hide_profile_fields( $contactmethods ) {
    unset($contactmethods['aim']);
    unset($contactmethods['jabber']);
    unset($contactmethods['yim']);
    return $contactmethods;
    }


13,添加作者个人资料选项

如果你想更充分的展示作者的个人资料,那么你可以添加一些更个性化的资料选项,例如添加twitter 和 facebook账号等。下面的代码就是添加twitter 和 facebook账号用的。当然,你可以把里面的内容替换成其他任何你想展示的资料。这个对多博客作者尤其有用。



function my_new_contactmethods( $contactmethods ) {
    // Add Twitter
    $contactmethods['twitter'] = 'Twitter';
    //add Facebook
    $contactmethods['facebook'] = 'Facebook';

    return $contactmethods;
    }
    add_filter('user_contactmethods','my_new_contactmethods',10,1);


添加完是上面的代码后,你需要在author.php文件里面添加如下的代码:



<?php echo $curauth->twitter; ?>


注意:改代码仅在WordPress2.9以上的版本起作用。

14,添加侧边栏小模块

这是目前用的最多的技巧之一,很多WordPress模板开发者都已经知道,并且在用了。



if ( function_exists('register_sidebar') )
    register_sidebar(array('name'=>'MiddleSidebar',
    'before_widget' => '<li class="widget">',
    'after_widget' => '</li>',
    'before_title' => '<h2 class="widgettitle">',
    'after_title' => '</h3>',
    ));
    register_sidebar(array('name'=>'FooterSidebar',
    'before_widget' => '<li class="widget">',
    'after_widget' => '</li>',
    'before_title' => '<h2 class="widgettitle">',
    'after_title' => '</h3>',
    ));


上面的代码可以增加两个侧边栏的小模块。以此类推,你可以添加无限多侧边栏的小模块。添加完上面的代码后,你需要把下面的代码添加到你要出现这边小模块的地方。



<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('MiddleSidebar') ) : ?>
    <!–Default sidebar info goes here–>
    <?php endif; ?>


注意:侧边栏并不一定需要出现在sidebar.php文件里面。

原文25+ Extremely Useful Tricks for the WordPress Functions File

标签:WordPress主题,函数,技巧
0
投稿

猜你喜欢

  • CentOS下命令行实现普通用户和root用户切换的实例

    2023-11-02 17:25:35
  • 产品页面的搜索引擎优化技巧

    2008-02-19 22:02:00
  • adsense有点击次数却没有收入?

    2008-08-06 20:21:00
  • 解决ASP(图像)上传漏洞的方法

    2007-10-17 13:16:00
  • Godaddy主机什么是Google站长工具?

    2010-04-14 13:07:00
  • A5 安全小组Jack服务器安全讲座全记录

    2009-02-20 18:13:00
  • google PR更新时间预测小记

    2007-12-10 18:31:00
  • Linux下解压,压缩JAR包的简单方法

    2023-08-06 19:26:03
  • 广告2.0:如何投放好互联网广告

    2008-01-25 18:11:00
  • 在VMware上创建虚拟机及安装Redhat Linux操作系统(图文教程)

    2023-11-04 10:32:42
  • 妙手回春,化解服务器登录难题(4)

    2007-03-27 10:30:00
  • DEDE小技巧:DEDECMS会员登陆后不显示广告!

    2009-02-20 15:42:00
  • Linux中可以节省你时间的15个命令别名

    2023-07-20 00:27:12
  • Linux下apache日志分析与状态查看方法

    2021-11-26 19:33:41
  • dede5.3关于联动菜单的调用

    2009-02-15 09:45:00
  • Apache服务的主要目录和配置文件详解

    2022-04-18 17:17:24
  • Win 2000检测系统安全清单(2)

    2007-09-14 15:03:00
  • Dedecms 5.5 实现自定义标题处理(附采集规则)

    2009-12-20 18:29:00
  • Linux系统平台下配置Proftp服务的小技巧

    2009-12-07 19:16:00
  • IIS状态代码:IIS详细错误代码以及解释

    2009-09-10 13:07:00
  • asp之家 网站运营 m.aspxhome.com