PS: I got it working with magic link plugins (including this simple one: https://wordpress.org/plugins/magic-login-mail/) but it would be great if you had a function to hide your default login on the dashboard!
Hi there, @jhmonroe,
Thanks for sharing this with us. Jetpack CRM has a built-in feature that might be exactly what you’re looking for: Easy Access Links.
When enabled, Easy Access Links generate special URLs that allow your contacts to view their quotes and invoices without needing to log in at all. No passwords, no accounts – just a unique link you can send them directly.
This might be a cleaner solution than the magic link plugin for your use case, since it’s designed specifically for letting clients view their CRM documents without authentication hassles.
As for hiding the default login on the Client Portal page: that’s not currently a built-in option, unfortunately. Your workaround with the magic link plugin is clever! If you’d like to see a native toggle for this, I’d encourage you to submit a feature request here 🙂
The dev team reviews these regularly, and requests from users like yourself help shape the roadmap.
Let me know if you have any questions about setting up Easy Access Links or if there’s anything else I can help with!
Submitted the request! Thanks
In the meantime, here’s a function/snippet I wrote with Claude Code that works to hide the redundant login when using a magic login:
<?php /** Remove this line if you already have it in the top of your functions file **/
add_action('jpcrm_enqueue_client_portal_styles', 'jpcrm_hide_portal_login_container');
function jpcrm_hide_portal_login_container() {
$custom_css = "
.zbs-portal-login {
display: none !important;
}
";
wp_add_inline_style('zbs-portal', $custom_css);
}
Another version hides just the login form and not the entire container it’s in:
<?php /** Remove this line if you already have it in the top of your functions file **/
add_action('jpcrm_enqueue_client_portal_styles', 'jpcrm_hide_portal_login_form');
function jpcrm_hide_portal_login_form() {
// Add custom CSS to hide the login form on the portal login page
$custom_css = "
.zbs-portal-login .login-form {
display: none !important;
}
";
wp_add_inline_style('zbs-portal', $custom_css);
}
Thanks for sharing.
I’m going to mark this thread as resolved, but feel free to reach out if you have questions in the future.