Intereting Posts
Вопрос по обновлению WordPress Хороший рейтинговый плагин, который не зависит от внешней службы? Как отредактировать html-структуру продукта woocommerce? Google проверяет элементы Разделять одну установку WordPress между несколькими «сайтами»? Почему дополнительные эскизы размером в пиксель размером 92 пикселя? Иконка-шрифт не работает на субдоменах многосайта woocommerce показать только родительскую категорию (taxonomy-product_cat.php) .htaccess перенаправить для установки старой подпапки в новую установку вложенных папок и https Регистрация таксономии. Что такое `query_var`? Как запустить несколько операторов в одном запросе? Добавить URL-запрос к следующей записи в пользовательском запросе Какова минимальная роль / разрешения для внештатного разработчика? Сообщения, не работающие над окнами после изменения постоянных ссылок В jquery используйте переменную php для выполнения файла enqueued jquery Проблема с разбивкой по страницам в файле archive.php

Получить текущий URL-адрес пользователя в нескольких сайтах?

У меня есть установка Multi Site WordPress и несколько блогов. На главной странице (domain.com) у меня есть форма входа в систему, и когда пользователь вошел в систему, на данный момент он показывает две ссылки (панель администратора и выход из системы). Но я также хочу включить ссылку, которая идет на текущий сайт блога пользователя, например: blog.domain.com.

<li class="showblog"><a href="<?php <some code> ?>">Show blog</a></li> 

Solutions Collecting From Web of "Получить текущий URL-адрес пользователя в нескольких сайтах?"

попробуйте использовать эту функцию,

 function get_primary_blog_url($id=null) { // is there a user to check? global $current_user; $user_id = (null != $id ) ? $id : $current_user->ID; if ( isset( $user_id ) ) { // Get the blogs of this user $user_blogs = get_blogs_of_user( $user_id ); // Get the URL of the blog foreach ( $user_blogs AS $user_blog ) { if ( $user_blog->userblog_id != BLOG_ID_CURRENT_SITE ) { return $user_blog->siteurl; } } // If user has no blog, return to the homepage. } else { return home_url(); } } 

« current blog » в терминах WPMU означает блог, который фактически отображается в данный момент. Другими словами, текущий контекст блога страницы, просматриваемой в тот момент, или содержимого global $blog_id . Как и в обычной установке wp, вы должны использовать site_url (), чтобы восстановить ссылку этого блога. (Просто указывая это, чтобы вы не смутили эту формулировку позже).

Я думаю, что вы ищете URL-адрес блога, который принадлежит этому пользователю. Для этого нет прямой функции. Лучший способ получить эту информацию – использовать get_blogs_of_user (), чтобы получить список блогов, к которым подключен пользователь. Если ваша настройка настроена таким образом, что для пользователя может быть только один блог, вы можете просто использовать первый элемент из этого массива.

Простой пример:

 <?php $blogs = get_blogs_of_user( get_current_user_id() ); $link = get_site_url($blogs[0]->userblog_id); ?> <li class="showblog"><a href="<?php echo $link; ?>">Show blog</a></li>