提问人:Clarus Dignus 提问时间:12/20/2015 最后编辑:Clarus Dignus 更新时间:12/20/2015 访问量:421
使用 PHP 的 ob_get_contents 函数在锚点输出中添加跨度
Add span inside anchor output using PHP's ob_get_contents function
问:
我有什么:
一个PHP函数,根据用户是否相应地登录/注销,输出登录/注销链接。
<a href="foo">bar</a>
我需要什么:
我需要一个围绕锚元素内链接文本的跨度。
<a href="foo"><span>bar</span></a>
我的代码:
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;
}
我已经检查了 wp_loginout() 函数中的潜在参数,但存在的两个参数不适用:
<?php wp_loginout( $redirect, $echo ); ?>
我的问题:
如何使用服务器端方法将跨度包装在锚点中。我不想求助于像 JavaScript 这样的客户端方法。
答:
1赞
Athikrishnan
12/20/2015
#1
尝试
wp_logout_url ( string $redirect = '' )
函数而不是wp_loginout('index.php')
例
ob_start();
wp_logout_url('index.php');
$logoutlink= ob_get_contents();
ob_end_clean();
$items .= '<a href="'.$logoutlink.'"'><span></span></a>;
用于检查天气用户是否登录。is_user_logged_in()
ob_start();
if (is_user_logged_in()) {
wp_logout_url('index.php');
} else {
site_url('index.php')
}
评论
0赞
Clarus Dignus
12/20/2015
谢谢。我不知道你用过的两个函数。
1赞
Athikrishnan
12/20/2015
很高兴我能帮上忙。wpbeginner.com/wp-themes/......,这可能会对您派上用场
评论
wordpress