Speichern Sie zuletzt besuchte Blogs im gesamten Netzwerk

Ich habe ein großes Netzwerk mit Subdomains (von denen viele Domains verwenden). Ich habe darüber nachgedacht, dieses Problem mit Cookies zu lösen, aber nach einigen Recherchen halte ich Cross-Domain-Cookies für keine gute Idee.

Also stelle ich mir dieses Hacken vor, indem ich einige Blogs in User-Metas lege und sie dann auf der Hauptseite anzeige.

Ich bin auf update_user_meta () gestoßen, was in meinem Fall sehr praktisch ist.

global $blog_id; $current_blog_details = get_blog_details( array( 'blog_id' => $blog_id ) ); if (is_user_logged_in()) { $user = wp_get_current_user(); update_user_meta($user->ID, 'last_visited_blogs', $current_blog_details->blogname); } 

Ich speichere diese function in der admin-bar.php, so dass jeder Blog diesen Code teilt. Jetzt möchte ich diesen Code neu erstellen, um 5 zuletzt besuchte Blogs als ein Array zu speichern und dann diese Werte zu erhalten und an irgendeiner Stelle anzuzeigen.

Erste Frage wäre, wie man 5 Seiten speichern kann. Ich denke Update ist nicht mein Fall nein?

Solutions Collecting From Web of "Speichern Sie zuletzt besuchte Blogs im gesamten Netzwerk"

Danke für deine Aufmerksamkeit, ich habe es mit update_user_meta gemacht. Hier ist meine kleine function, die ich geschrieben habe

 global $blog_id; $current_blog_details = get_blog_details( array( 'blog_id' => $blog_id ) ); if (is_user_logged_in()) { $user = wp_get_current_user(); $last_visited_blogs = get_user_meta($user->ID, 'last_visited_blogs',true); if($last_visited_blogs) { if (end($last_visited_blogs) != $current_blog_details->blogname) { if (count($last_visited_blogs) < 5) { array_push($last_visited_blogs, $current_blog_details->blogname); } else { array_shift($last_visited_blogs); array_push($last_visited_blogs, $current_blog_details->blogname); } update_user_meta($user->ID, 'last_visited_blogs', $last_visited_blogs); } } else { $last_visited_blogs = array($current_blog_details->blogname); update_user_meta($user->ID, 'last_visited_blogs', $last_visited_blogs); } $last_visited_blogs_reversed = array_reverse($last_visited_blogs); foreach($last_visited_blogs_reversed as $key => $value) { $wp_admin_bar->add_menu( array( 'id' => $value, 'title' => $value, 'href' => admin_url( 'didiyle.php' ), ) ); } } 

Ich benutze es in meiner Admin-Bar, wenn Sie brauchen, können Sie es überall verwenden, braucht aber ein wenig Modifikationen