Hallo!
Ich weiß ja nicht, wie weit deine Programm,-bzw. Programmiererkenntnisse im allgemeinen uo. mit WP reichen.
Etwas ohne Plugin machen zu wollen, ist ja nicht schlecht, wobei jeder extra hinzugefügte Code wie ein solches wirken kann. Sicher, für so etwas sollten ein paar Zeilen reichen und so manches Plugin dazu könnte überladen sein. Sowas kommt vor.
Das selber coden ist aber bei WP an diverse Regeln gebunden, dh. man sollte sich an den WP Codex halten. Irgendwelche Codes aus dem Netz können funktionieren, könnten aber unnötigen Ballast mitbringen. Wer WP eingebaute Funktionen nimmt, schont Ressourcen. Und WP bringt alles mit, wenn man weiß, wie man es nutzt.
Alles Theorie, ja ich bin auch nur Laie und frage mich hier durch und stöbere in der Code Referenz. Manches klappt, öfters aber suche und finde ich einfach ein Plugin und fertig.
„Meine“ Sites zT. sind außer dieser hier noch perun.net, drweb.de/websites/wordpress/, fastwp.de, wp-bistro.de usw. WP-Codes sind aber alle eben auf https://developer.wordpress.org/reference/.
Praktisch gesehen müsstest für nicht eingeloggte User einfach nur irgendwo den „Du bist nicht angemeldet“ Hinweis anbringen. Das gilt ja mal als Standard, jeder ist zuerst mal nicht eingeloggt.
Dann muss dieser Hinweis aber für eingeloggte User verschwinden. Bei „user logged in“ uä. Suchbegriffen gibt die Codereferenz zB. das her: is_user_logged_in ()
(https://developer.wordpress.org/reference/functions/is_user_logged_in/) Das kleine Codebeispiel darunter könnte (?) dir schon die Basis für dein Vorhaben liefern.
function is_user_logged_in() {
$user = wp_get_current_user();
return $user->exists();
}
Nur wo das hin gehört usw. sollte man auch wissen. Daher die Anfangsfrage zum Wissenstand. Meiner ist auch nicht sehr hoch, daher sorry falls da was falsch verstanden habe.
Hoffe aber, ich konnte einen Denkanstoß geben und hoffe, das sich noch die Profis hier melden. Die weniger als ich schwafeln, dafür weit mehr Know how haben!