Jake Vanderwerf
2026-04-15 c4aa5cdb5e90ad4b420e22772797d16980232a2b
inc/helpers/members.php
@@ -2,6 +2,7 @@
use JVBase\managers\Cache;
use JVBase\meta\Meta;
use JVBase\registrar\Registrar;
if (!defined('ABSPATH')) {
   exit;
@@ -217,3 +218,32 @@
        $user->roles)
    ))[0];
}
function  jvbUserProfileLink(int $userID):string|false
{
   $cache = Cache::for('userLink')->connect('user');
   return $cache->remember(
      $userID,
      function() use ($userID) {
         $user = get_userdata($userID);
         if (!$user) {
            return false;
         }
         $role = jvbUserRole($userID);
         $registrar = Registrar::getInstance($role);
         if (!$registrar || !$registrar->profile_link) {
            return false;
         }
         $link = get_user_meta($userID, BASE.'profile_link', true);
         //Try to create it
         if (empty($link)) {
            $link = JVB()->roles()->addUserLink($user, $role);
            if (!$link) {
               return false;
            }
         }
         $status = get_post_status($link);
         return ($status === 'publish') ? get_the_permalink($link) : false;
      }
   );
}