添加跨度功能
我有什么:
,基于用户是否输入/输出相应的登录/退出链接输出日志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); ?>
我的问题:
如何使用服务器端方法将span包裹在锚点内。我不想诉诸像JavaScript这样的客户端方法。
尝试,
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')
}
谢谢。我并不知道你使用过的两个功能。 –
很高兴我能帮上忙。 http://www.wpbeginner.com/wp-themes/how-to-add-custom-items-to-specific-wordpress-menus/,这可能会派上用场。 – Athikrishnan
为什么你不能只回显你需要的代码? –
@AndrewWilson我需要的代码(链接)是通过调用wp_loginout()函数动态生成的。它可以自动执行多个步骤,包括检测用户是否登录/注销,输出相关链接和随机令牌以确保安全。这就是我使用函数返回输出而不是回显输出的原因。 –
对不起,我不禁使用WordPress。 –