现在位置:首页 » 娱乐八卦 »

WordPress个性主题开发指南

时间:2012年04月22日 ⁄ 分类: 娱乐八卦 评论:1

本文的目标读者是WordPress 主题开发者,需要懂一些基本的PHP知识。另外,下文提到的所有代码都必须添加到functions. php文件里面。

WordPress主题一般有一系列的php文件和一个style. css文件,而其中功能最为强大的文件则是functions. php。WordPress 有非常多的常用函数,你可以通过添加和删除一些函数来增加WordPress主题的功能,而不需要修改任何的主题文件。

1,添加Google Analytics 统计
只需要把下面的代码添加到functions. php文件里面——注意把里面的中文部分替换成你的Google 统计代码,然后你就不用担心了。



  1. <?php   

  2. add_action('wp_footer', 'add_googleanalytics');   

  3. function add_googleanalytics() { ?>   

  4. // 把Google 统计代码复制到这里   

  5. <?php } ?>  

2,给WordPress 博客添加一个 Favicon 图标。
每一个博客都应该有一个独一无二的标志,你可以通过添加代码到header.php来实现。当然,你也可以通过添加代码到functions.php来实现。添加完下面的代码后,只需要把Favicon.ico文件上传到网站根目录即可。



  1. // add a favicon to your   

  2. function blog_favicon() {   

  3. echo '<link rel="Shortcut Icon" type="image/x-icon" href="'.get_bloginfo('wpurl').'/favicon.ico" />';   

  4. }   

  5. add_action('wp_head', 'blog_favicon');  

3,移除WordPress版本号。
WordPress有新版本出来后,总会在后台提示管理员进行升级。但假如你是给客户制作网站,而他们又不想升级的话,最好的办法就是从WordPress 头部、RSS里面以及其他任何地方移除版本的信息。


  1. function wpbeginner_remove_version() {   

  2. return '';   

  3. }   

  4. add_filter('the_generator', 'wpbeginner_remove_version');  

4,给WordPress控制面板添加自定义logo
用WordPress给客户制作网站,如果给WordPress的控制面板后台添加一个自定义logo,则会让网站显的专业很多。要做到这一点,你只需要把代码添加到functions.php即可。


  1. //hook the administrative header output   

  2. add_action('admin_head', 'my_custom_logo');   

  3. function my_custom_logo() {   

  4. echo '   

  5. <style type="text/css">   

  6. #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }   

  7. </style>   

  8. ';   

  9. }  

5,改变WordPress后台控制面板底部信息
如上所述,如果不想让客户知道网站是由WordPress制作,则可以修改WordPress控制面板底部的信息,只需要把下面的代码添加到 functions.php文件即可。


  1. function remove_footer_admin () {   

  2. echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | Designed by <a href="http://www.uzzz.net" target="_blank">Uzzz Productions</a> | WordPress Tutorials: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';   

  3. }   

  4. add_filter('admin_footer_text', 'remove_footer_admin');  

注:代码里面的html部分可以修改。
6,自定义WordPress控制面板模块
一些WordPress插件会在控制面板那里添加一些模块来显示相应的信息,作为一个WordPress模板设计者,你也可以通过修改functions.php文件来实现这个功能。注意替换里面的相应信息。


  1. add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');   

  2. function my_custom_dashboard_widgets() {   

  3. global $wp_meta_boxes;   

  4. wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');   

  5. }   

  6. function custom_dashboard_help() {   

  7. echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';   

  8. }  

7,改变默认的 Gravatar 头像
WordPress程序默认的 Gravatar 头像很不咋地,而且到处都是千篇一律的默认头像一点都无法体现独特性。你可以把以下代码添加到functions.php文件里面,然后记得把自定义的 Gravatar 头像上传到WordPress模板的images文件夹。


  1. add_filter( 'avatar_defaults', 'newgravatar' );   

  2. function newgravatar ($avatar_defaults) {   

  3. $myavatar = get_bloginfo('template_directory') . '/images/gravatar.gif';   

  4. $avatar_defaults[$myavatar] = "WPBeginner";   

  5. return $avatar_defaults;   

  6. }  

8,让WordPress底部的版权时间显示的更生动
很多网站的版权时间都显示的是建站时的年份,有些则是显示当下的年份。事实上,这两种方式都不是太好。
最好的方式是显示从网站建设之初的年份到目前的年份位置,类似© 2006 – 2010这种显示方式。
这种效果通过以下的代码可以实现。添加完下面的代码后,系统会自动抓取发布第一篇文章的年份以及最新一篇文章的年份,并把它显示出来。


  1. function comicpress_copyright() {   

  2. global $wpdb;   

  3. $copyright_dates = $wpdb->get_results( 

  4. SELECT  

  5. YEAR(min(post_date_gmt)) AS firstdate,  

  6. YEAR(max(post_date_gmt)) AS lastdate  

  7. FROM  

  8. $wpdb->posts  

  9. WHERE  

  10. post_status = 'publish'  

  11. ");   

  12. $output = '';   

  13. if($copyright_dates) {   

  14. $copyright = "&copy; " . $copyright_dates[0]->firstdate;   

  15. if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {   

  16. $copyright .= '-' . $copyright_dates[0]->lastdate;   

  17. }   

  18. $output = $copyright;   

  19. }   

  20. return $output;   

  21. }  

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


  1. <?php echo comicpress_copyright(); ?>  

9,给读者投稿文章添加姓名/来源
如果你的博客接受读者的投稿,想在该篇文章出现投稿者的姓名,同时又不想通过添加作者的这种繁琐而麻烦的方式来操作,则可以使用下面的代码。使用下面的代码后,只需要在撰写文章的时候在自定义区域填上投稿者的姓名即可。系统会自动将发布者的名称换成投稿者的名称。
这个代码对接受读者投稿较多的网站,或者是资讯型的网站非常有用(利用它来显示来源)。


  1. add_filter( 'the_author', 'guest_author_name' );   

  2. add_filter( 'get_the_author_display_name', 'guest_author_name' );   

  3. function guest_author_name( $name ) {   

  4. global $post;   

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

  6. if ( $author )   

  7. $name = $author;   

  8. return $name;   

  9. }  

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

  1. add_theme_support( 'post-thumbnails' );  

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

  1. <?php the_post_thumbnail(); ?>  

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

  1. add_theme_support( 'nav-menus' );  

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


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

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


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

  2. function hide_profile_fields( $contactmethods ) {   

  3. unset($contactmethods['aim']);   

  4. unset($contactmethods['jabber']);   

  5. unset($contactmethods['yim']);   

  6. return $contactmethods;   

  7. }  

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


  1. function my_new_contactmethods( $contactmethods ) {   

  2. // Add Twitter   

  3. $contactmethods['twitter'] = 'Twitter';   

  4. //add Facebook   

  5. $contactmethods['facebook'] = 'Facebook';   

  6. return $contactmethods;   

  7. }   

  8. add_filter('user_contactmethods','my_new_contactmethods',10,1);  

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


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

注意:改代码仅在WordPress2.9以上的版本起作用。
14,添加侧边栏小模块。
这是目前用的最多的技巧之一,很多WordPress模板开发者都已经知道,并且在用了。


  1. if ( function_exists('register_sidebar') )   

  2. register_sidebar(array('name'=>'MiddleSidebar',   

  3. 'before_widget' => '<li class="widget">',   

  4. 'after_widget' => '</li>',   

  5. 'before_title' => '<h2 class="widgettitle">',   

  6. 'after_title' => '</h3>',   

  7. ));   

  8. register_sidebar(array('name'=>'FooterSidebar',   

  9. 'before_widget' => '<li class="widget">',   

  10. 'after_widget' => '</li>',   

  11. 'before_title' => '<h2 class="widgettitle">',   

  12. 'after_title' => '</h3>',   

  13. ));  

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


  1. <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('MiddleSidebar') ) : ?>   

  2. <!–Default sidebar info goes here–>   

  3. <?php endif; ?>  

注意:侧边栏并不一定需要出现在sidebar.php文件里面。
目前有 1 条评论
avatar
屠龙 2012-04-24 14:14回复
很有用 我先收藏了!