1

我在 PHP 硬编码方面遇到了一些小问题,希望您能帮助我。我想在有人登录后将我的登录更改为注销。到目前为止,我已经尝试了两种方法,将代码放入我的function.php文件底部,其中一种几乎破坏了网站,我不得不通过进入来删除代码sudo。这是几乎可以工作的代码,

 add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2);
 function add_login_logout_link($items, $args) {
       ob_start();
          wp_loginout('index.php');
               $loginoutlink = ob_get_contents();
                        ob_end_clean();
                             $items .= '<li>'. $loginoutlink .'</li>';
return $items;

}

我把这段代码放在文件的底部functions.php,虽然它从来没有给我注销,而是改为REGISTER登录。

我遇到的3个小问题是:

  1. 从发送到新用户电子邮件的链接返回站点后第一次登录,使他们登陆主页,我有一个 s2member 插件,表明登录后您转到另一个页面,这有效,但不适用于新用户.

  2. 除非我告诉注销在新窗口中打开,否则用户注销不起作用,如果不是它只是超时并且谷歌告诉我该站点将永远不会重定向到它的页面。虽然管理员可以很好地注销。

  3. 我正在处理被阻止的页面,除非用户拥有我提供的服务的付费会员资格。

这里有一些 wp- 细节。

WP Version:     WP 3.5.1
Installed Plugins:  All in one Favicon by Arne Franken version 4.3,
bbPress by The bbPress Community version 2.3.2,
Better WP Security by Bit51 version 3.5.5,
Black Studio TinyMCE Widget by Black Studio version 1.2.0,
Contact Form 7 by Takayuki Miyoshi version 3.4.2,
Custom sidebars by Javier Marquez version 1.2,
Google XML Sitemaps by Arne Brachhold version 3.2.9,
T(-) Countdown by twinpictures, baden03 version 2.2.10,
KB Robots.txt by Adam R. Brown version 1.0.1,
Raw HTML by Janis Elsts version 1.4.10,
Revision Cleaner by Meng Zhuo version 2.1.3,
s2Member® Framework by s2Member® / WebSharks, Inc. version 130617,
Slideshow by StefanBoonstra version 2.2.11,
Ultimate TinyMCE by Josh Lobe version 4.8.1,
Welcome Pack by Paul Gibbs version 3.3,
WooCommerce by WooThemes version 2.0.13,
WordPress SEO by Joost de Valk version 1.4.13,
WP-Mail-SMTP by Callum Macdonald version 0.9.1,
WP Maintenance Mode by Frank Bültge version 1.8.11
Theme Name:     Responsive
Theme Version:  1.9.3.2
Author URL:     http://themeid.com

我刚刚从数据库和站点上进行了完整的备份,如果有人可以帮助进行此编码,将不胜感激。

我希望我把帖子放在正确的地方。

4

1 回答 1

0

只需添加

ob_start();

在 wp-login.php 文件的顶部。

于 2014-05-02T16:52:23.330 回答