给WP首页添加快速登录 并修改默认“功能”小工具

记录第一次接触php代码,第一次修改WordPress。
我有两个需求,一是删除默认”功能“小工具的中的 RSS 和 wordpress链接;二是在首页添加一个快速登录框。
对于第一个需求,在网上搜了下,很多人讲,很容易就实现了。待会放到最后说一下。
对于第二个需求,在网上搜,只发现两个讲的,而且都无法实现。其中一个是直接把登录页面的静态代码放到一个”文本“小工具中,这个方法是可以实现登录,但问题是登录后并没有显示管理和登出,而仍然是登录框。虽然这个方法是很简单,但结果却是让人无语。还有一个就是论坛上讲需要修改wp_register()函数。但是这篇文章很老,06年的。按照其方法不行,而且根本就找不到wp_register()函数。查看该文章
我可能更偏向于将我解决问题的思路,呵呵,大家耐着性子看啊O(∩_∩)O~
上面说的论坛的方法给了我一些启示,我尝试去修改wp_register()函数。打开wp的文档,搜索wp_register,通过文档找到该函数的位置”\wp-includes\general-template.php“。在该文件里搜索找到wp_register后按论坛的方法,不行。再看文档关于该函数的介绍,没收获。再看文档,发现有一个相关的函数wp_login_form(),该函数的作用是在任何被调用的地方生产一个简单的登录框。哈哈哈……哈哈哈……下面分析下应该在wp_register函数这两个何处调用该函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function wp_register( $before = '<li>', $after = '</li>', $echo = true ) {
  if ( ! is_user_logged_in() )
  {
    if ( get_option('users_can_register') )
    {
      $link = $before . '<a href="' . site_url('wp-login.php?action=register', 'login') . '">' . __('Register') . '</a>' . $after;
    }else{
      $link = '';
    }
  } else {
    $link = $before . '<a href="' . admin_url() . '">' . __('Site Admin') . '</a>' . $after;
  }

  if ( $echo )
    echo apply_filters('register', $link);
  else
    return apply_filters('register', $link);
}

由于第一次接触php,所以并不太了解,不知道该放哪,但大体可以看明白逻辑关系,就在每个if else后的语句块插入 echo ‘A’,依次插入 A B C D ,呵呵,然后登录,退出,看各个字母在什么情况下显示,呵呵,找到了应该在哪里插入wp_login_form()了吧。修改后的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function wp_register( $before = '<li>', $after = '</li>', $echo = true ) {
  if ( ! is_user_logged_in() )
  {
    if ( get_option('users_can_register') )
    {
      wp_login_form();
      $link = $before . '<a href="' . site_url('wp-login.php?action=register', 'login') . '">' . __('Register') . '</a>' . $after;
    }else{
      wp_login_form();
      $link = '';
    }
  } else {
    $link = $before . '<a href="' . admin_url() . '">' . __('Site Admin') . '</a>' . $after;
  }

  if ( $echo )
    echo apply_filters('register', $link);
  else
    return apply_filters('register', $link);
}

这样就在“功能”小工具里出现了用户名和密码输入框了。
别急,后面还有好戏。
由于我安装了wordpress连接微博,使用了连接功能,希望在该插件提供的登录框里也出现快速登录。呵呵,那就去修改该插件吧。打开该插件的“wp-connect/widget.php”文件,找到如下代码:

1
2
3
    if (!is_user_logged_in()) {
      wp_connect();
    } else { ?>

修改为:

1
2
3
4
    if (!is_user_logged_in()) {
      wp_login_form();//显示一个简单的登陆框
      wp_connect();
    } else { ?>

好了。保存,看效果。呵呵。

———————————–分割线———————————————–
删除默认“功能”中的不常用的东西。

打开“\wp-includes\default-widgets.php”,找到如下代码:

1
<li><?php wp_loginout(); ?></li>

注释掉以下代码:

1
<!-- -->
1
2
3
      <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo esc_attr(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
      <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo esc_attr(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
      <li><a href="http://wordpress.org/" title="<?php echo esc_attr(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>">WordPress.org</a></li>
分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/%e7%bb%99wp%e9%a6%96%e9%a1%b5%e6%b7%bb%e5%8a%a0%e5%bf%ab%e9%80%9f%e7%99%bb%e5%bd%95-%e5%b9%b6%e4%bf%ae%e6%94%b9%e9%bb%98%e8%ae%a4%e2%80%9c%e5%8a%9f%e8%83%bd%e2%80%9d%e5%b0%8f%e5%b7%a5%e5%85%b7/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论?

7 条评论。

  1. Excellent post. I was checking continuously this weblog
    and I’m inspired! Very useful information specifically the last section :
    ) I deal with such info much. I used to be looking for this particular information for a long time.

    Thank you and best of luck.

  2. Woah! I’m really enjoying the template/theme of this blog.

    It’s simple, yet effective. A lot of times it’s difficult to get that “perfect balance” between user friendliness and visual
    appeal. I must say you’ve done a very good job with this.

    Additionally, the blog loads extremely quick for me on Internet explorer.
    Excellent Blog!

  3. Thanks for sharing your thoughts on wordpress. Regards

  4. 感谢分享,中午在本地测试修改了一下,登陆框很快就出来了,修改样式中,希望有大大提供样式修改范例! 😛

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名