2015-12-20 4 views
1

Что у меня есть:

Функция PHP, которая выводит журнал в/из ссылки на основе ли пользователь соответствующим образом регистрируется в/из.Добавить диапазон внутри выходного якорной с помощью ob_get_contents РНР работать

<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.

+0

Почему вы не можете просто повторить код, который вам нужен? –

+0

@AndrewWilson Код, который мне нужен (ссылка), динамически создается путем вызова функции wp_loginout(). Он автоматизирует ряд шагов, включая обнаружение входа пользователя/выхода из системы, вывод релевантных ссылок и токенов nonce для обеспечения безопасности. Именно по этой причине я возвращаю результат, используя функцию, а не эхо. –

+0

Извините, я не могу помочь, но я не использую WordPress. –

ответ

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

Спасибо. Я не знал о двух функциях, которые вы использовали. –

+1

рад, что я могу помочь. http://www.wpbeginner.com/wp-themes/how-to-add-custom-items-to-specific-wordpress-menus/, это может пригодиться вам – Athikrishnan

 Смежные вопросы

  • Нет связанных вопросов^_^