[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3NsKomAzrOalxv3AJ-dNEybk3yNCQCllxEuurD9uZPk":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"jtayler","https:\u002F\u002Fprofiles.wordpress.org\u002Fjtayler\u002F",1,10,100,30,94,"2026-08-29T11:07:22.504Z",[13],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":7,"downloaded":19,"rating":8,"num_ratings":20,"last_updated":21,"tested_up_to":22,"requires_at_least":23,"requires_php":24,"tags":25,"homepage":31,"download_link":32,"security_score":8,"vuln_count":33,"unpatched_count":33,"last_vuln_date":34,"fetched_at":35},"truanon-identity","TruAnon Identity","3.2.4","\u003Cp>You have profiles. This lets members bring their own confidence of identity to them, and choose how others see and share it.\u003C\u002Fp>\n\u003Cp>It amplifies a profile. When identity carries weight, members do more of whatever they came to do — and do it more safely.\u003C\u002Fp>\n\u003Cp>It is voluntary. Members use it because the platform makes it worth using. What shows is theirs to set, and theirs to withdraw at any time, everywhere at once.\u003C\u002Fp>\n\u003Cp>Confidence of identity is built from a public history that cannot be assembled on demand. Where it is visible, a fraudster gains nothing and carries more risk, and moves on to a less trusted platform. The community sorts itself, without rules or moderation.\u003C\u002Fp>\n\u003Cp>It is automatic and continuous. Members keep it current by being who they are.\u003C\u002Fp>\n\u003Cp>The site stores nothing that identifies anyone — a rank, a score, an image address. Everything else is read live when viewed and never written down.\u003C\u002Fp>\n\u003Ch4>Where badges appear\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Beside member names on comments and post bylines — classic and block themes\u003C\u002Fli>\n\u003Cli>On the member’s profile (the author page): badge, title, and granted details\u003C\u002Fli>\n\u003Cli>On UsersWP member profiles and in the members directory — no code\u003C\u002Fli>\n\u003Cli>Anywhere else via the \u003Ccode>[truanon]\u003C\u002Fcode> shortcode, the \u003Ccode>[truanon_card]\u003C\u002Fcode> profile card, or the Badge block\u003C\u002Fli>\n\u003Cli>\u003Ccode>[truanon_settings]\u003C\u002Fcode> places the member panel on any front-end page for membership sites\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What it costs your server\u003C\u002Fh4>\n\u003Cp>Badges render from cached rank and score; no page waits on an API. Styling is self-contained — no Bootstrap, no icon fonts — and every color is a CSS custom property (\u003Ccode>--truanon-*\u003C\u002Fcode>) a theme can override.\u003C\u002Fp>\n\u003Ch3>Using it with a membership plugin\u003C\u002Fh3>\n\u003Cp>Community plugins render their own profile pages and member directories. WordPress core never fires its author or comment hooks there, so TruAnon reaches them either natively (UsersWP) or with a one-line snippet (everything else).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>UsersWP — nothing to add.\u003C\u002Fstrong> The badge places itself on member profiles \u003Cem>and\u003C\u002Fem> in the members directory (there as a compact rank-colored check, rendered from cache with no per-member API call). On their own profile the owner also sees a \u003Cstrong>Verify \u002F Manage\u003C\u002Fstrong> bar that opens their identity panel (anchor + privacy switches). It is on as soon as you enter your key; the setting on the TruAnon admin screen turns the member control off if you’d rather place it yourself. If you ran an earlier version with a \u003Ccode>[truanon_verification]\u003C\u002Fcode> profile snippet, remove it after updating so the badge isn’t drawn twice.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Other plugins (BuddyPress, Ultimate Member, bbPress) — one snippet.\u003C\u002Fstrong> Pick the piece you want with a shortcode — \u003Ccode>[truanon]\u003C\u002Fcode> (pill), \u003Ccode>[truanon size=\"inline\"]\u003C\u002Fcode> (just the check, no API call), or \u003Ccode>[truanon_card]\u003C\u002Fcode> (full card); each accepts \u003Ccode>user=\"login-or-id\"\u003C\u002Fcode> — and place it from your plugin’s profile hook. For BuddyPress, in your theme’s functions.php or a code-snippets plugin:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action( 'bp_before_member_header_meta', function () {\n    echo do_shortcode( '[truanon_card user=\"' . bp_displayed_user_id() . '\"]' );\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then give those members a place to manage their identity, since they never open wp-admin: put \u003Cstrong>\u003Ccode>[truanon_settings]\u003C\u002Fcode>\u003C\u002Fstrong> on a front-end page (or profile tab). It shows the visitor their own badge and a \u003Cstrong>Verify \u002F Manage\u003C\u002Fstrong> button with every privacy switch. (On UsersWP this is the inline switch above, so the shortcode is optional there.)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Upgrading from 1.x \u002F 2.x?\u003C\u002Fstrong> The old \u003Ccode>[truanon_verification userid=\"..\" username=\"..\"]\u003C\u002Fcode> shortcode still works. It now renders the current design — an inline check in a members list, the full card on a profile — so existing placement snippets keep working with no edits. Pass \u003Ccode>size=\"inline\"\u003C\u002Fcode>, \u003Ccode>size=\"large\"\u003C\u002Fcode>, or \u003Ccode>size=\"card\"\u003C\u002Fcode> to force one specific piece.\u003C\u002Fp>\n\u003Ch3>For developers and AI assistants\u003C\u002Fh3>\n\u003Cp>Placement is automatic on stock WordPress (comment authors, post bylines, author archives) and on UsersWP (member profiles and the members directory). On any platform without native support — BuddyPress, Ultimate Member, bbPress, a custom theme — place it explicitly with the surface below.\u003C\u002Fp>\n\u003Cp>How fetching works (the model): a badge paints from a small per-user cache — rank, score, color — so no page ever waits on the API. TruAnon is called live only when the \u003Cstrong>full badge\u002Fcard\u003C\u002Fstrong> is shown \u003Cstrong>and\u003C\u002Fstrong> the member’s identity switch is on; never for a list\u002Finline check, and never for a member who has not turned it on. Each successful call refreshes the cache; the list checkmark reads that cache and never calls out. The call is \u003Cstrong>not\u003C\u002Fstrong> gated on a stored “anchored” flag — whether a member is anchored is what the call returns, and it is recorded as a result, never required as a precondition.\u003C\u002Fp>\n\u003Cp>Shortcodes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[truanon user=\"login-or-id\" size=\"large|inline\"]\u003C\u002Fcode> — the badge. \u003Ccode>inline\u003C\u002Fcode> is a small check with no API call, for lists.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[truanon_card user=\"login-or-id\"]\u003C\u002Fcode> — the profile card: badge and the details the member has granted, read live.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[truanon_settings]\u003C\u002Fcode> — the member’s own Verify \u002F Manage control with privacy switches, for front-end membership sites.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[truanon_verification userid=\"..\" username=\"..\"]\u003C\u002Fcode> — legacy 1.x \u002F 2.x alias; context-aware.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Template tag (PHP): \u003Ccode>truanon_badge( $user = 0, $size = 'large' )\u003C\u002Fcode> — \u003Ccode>$user\u003C\u002Fcode> is a user ID, login, or WP_User; \u003Ccode>$size\u003C\u002Fcode> is \u003Ccode>large\u003C\u002Fcode> or \u003Ccode>inline\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Block: “TruAnon Badge” (\u003Ccode>truanon\u002Fbadge\u003C\u002Fcode>), attributes \u003Ccode>user\u003C\u002Fcode> and \u003Ccode>size\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Filters: \u003Ccode>truanon_userswp_render_badge\u003C\u002Fcode> ( bool, int $user_id ), \u003Ccode>truanon_inline_manage\u003C\u002Fcode> ( bool ), \u003Ccode>truanon_inline_link\u003C\u002Fcode> ( string $url, int $user_id ), \u003Ccode>truanon_absent_text\u003C\u002Fcode> ( string, int $user_id ).\u003C\u002Fp>\n\u003Cp>To integrate a profile plugin without native support: hook that plugin’s action after the profile name or header and echo \u003Ccode>truanon_badge( $id )\u003C\u002Fcode> or \u003Ccode>do_shortcode( '[truanon_card user=\"' . $id . '\"]' )\u003C\u002Fcode> on the single profile. In a member directory or loop, use the \u003Ccode>inline\u003C\u002Fcode> size so each row renders from cache with no per-member API call. Members who never open wp-admin get their own controls from a \u003Ccode>[truanon_settings]\u003C\u002Fcode> mount on a front-end page.\u003C\u002Fp>\n","A profile amplifier. Members back their own identity and choose how it is seen and shared, so people do more of what they came to do — more safely.",2471,2,"2026-07-19T11:53:00.000Z","7.0.2","6.0","7.4",[26,27,28,29,30],"badge","identity","reputation","trust","verification","https:\u002F\u002Ftruanon.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftruanon-identity.3.2.4.zip",0,null,"2026-07-22T17:31:50.256Z"]