Wenn Benutzer in einer Multisite-Konfiguration ein Blog/eine Website besuchen, für die es kein Mitglied gibt, möchte ich einen Link zu "HOME" anzeigen, der sie zu ihrem "primären" Blog führt.
Ich kann mit der Funktion is_current_blog_user () feststellen, ob ein Benutzer Mitglied einer Website ist oder nicht. Der Teil, mit dem ich ein Problem habe, ist das korrekte Festlegen der URL/des Pfads des Links "HOME" zum "primären" Blog des aktuellen Benutzers.
Hypothetisches Beispiel:
<a href="<?php this_is_the_path_to_users_primary_blog();?>">HOME</a>
Ich habe die Funktion get_active_blog_for_user (http://codex.wordpress.org/Function_Reference/get_active_blog_for_user) gefunden, und dies scheint ein guter Anfang zu sein. Aber ich habe das Gefühl, dass mir etwas fehlen muss, und das muss einfacher sein, als ich es mache.
In der Tat sollte get_active_blog_for_user
funktionieren.
$blog = get_active_blog_for_user( get_current_user_id() );
$blog_url = $blog->domain... /* or $blog->path, together with $blog->siteurl */
Alternative:
$blog_id = get_active_blog_for_user( get_current_user_id() )->blog_id;
// note: changed "->userblog_id" to "->blog_id" in row above to make it work.
switch_to_blog( $blog_id ); /* switch context */
$home_url = home_url();
restore_current_blog(); /* back */