{"id":1947831,"date":"2020-07-27T11:25:06","date_gmt":"2020-07-27T15:25:06","guid":{"rendered":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/?post_type=tribe-knowledgebase&#038;p=1947831"},"modified":"2025-08-17T17:18:49","modified_gmt":"2025-08-17T21:18:49","slug":"security-and-protected-content-for-virtual-events","status":"publish","type":"post","link":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/security-and-protected-content-for-virtual-events\/","title":{"rendered":"Security and protected content for virtual events"},"content":{"rendered":"\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/XQPzpQWEL_A\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n\n\n\n<p>Our virtual events provide options for limiting content access and are designed to keep your virtual and hybrid events secure. This article offers an overview of the built-in functionality you can use to meet your calendar goals.<\/p>\n\n\n\n<p>There are three basic ways to keep your virtual content protected:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/security-and-protected-content-for-virtual-events\/#Limit_content_visibility_to_registered_users_andor_attendees\">Limit content visibility to registered users and\/or attendees<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/security-and-protected-content-for-virtual-events\/#Share_event_links_via_RSVP_or_ticket_emails\">Share event links via RSVP or ticket emails<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/security-and-protected-content-for-virtual-events\/#Generate_Zoom_meetings_with_passwords\">Generate Zoom meetings with passwords<\/a><\/li>\n<\/ul>\n\n\n\n<p>These options can be used alone or combined to meet your needs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-limit-content-visibility-to-registered-users-and-or-attendees\">Limit content visibility to registered users and\/or attendees<\/h2>\n\n\n\n<p>The <em>Show to:<\/em> option allows you to hide your virtual or hybrid event content from anonymous viewers. For example, you can choose to only show the content to registered, logged-in users. This can be combined with user settings to limit virtual event content display to your invited users or, if combined with third-party membership tools, to put your virtual event content behind a paywall.<\/p>\n\n\n\n<p>If you have Event Tickets, you can use the <em>Show to:<\/em> option to hide virtual event content until the viewer has RSVPed or purchased a ticket to the event. In order to take advantage of this option, you&#8217;ll need to turn on the Login Requirement option under Events &gt; Settings &gt; Tickets. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2020\/08\/Annotation-on-2020-08-17-at-14-03-07.png\" alt=\"Virtual Event Settings\" class=\"wp-image-1947963\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-share-event-links-via-rsvp-or-ticket-emails\">Share event links via RSVP or ticket emails<\/h2>\n\n\n\n<p>If you have Event Tickets, you can use the <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/?post_type=post&amp;p=1947346#Share\">Share option<\/a> so that the video or meeting link is only provided with users who RSVP as Going or purchase a ticket. You&#8217;ll want to then either use the <em>Show to<\/em>: option to limit content visibility on the event page itself or de-select the Display options so that the virtual event content is only available through the email and never displays on the event page.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading1947831_d32ba8-8a, .wp-block-kadence-advancedheading.kt-adv-heading1947831_d32ba8-8a[data-kb-block=\"kb-adv-heading1947831_d32ba8-8a\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading1947831_d32ba8-8a mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading1947831_d32ba8-8a[data-kb-block=\"kb-adv-heading1947831_d32ba8-8a\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<p class=\"kt-adv-heading1947831_d32ba8-8a wp-block-kadence-advancedheading has-theme-palette-8-background-color has-background\" data-kb-block=\"kb-adv-heading1947831_d32ba8-8a\"><strong>Note<\/strong>: If using the &#8220;share in tickets emails&#8221; option with a Series Pass, only the link for the first event in the Series will actually be included in the email.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2020\/08\/Annotation-on-2020-08-24-at-13-32-12.png\" alt=\"Virtual Event Settings\" class=\"wp-image-1948029\"\/><\/figure>\n\n\n\n<p>You can add an additional level of security by using the <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/settings-overview-event-tickets-and-event-tickets-plus\/#Login_requirements\" target=\"_blank\" rel=\"noreferrer noopener\">Login Requirements options<\/a> under <strong>Events &gt; Settings &gt; Tickets<\/strong> to require users to log in before RSVPing and\/or purchasing a ticket.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-generate-zoom-meetings-with-passwords\">Generate Zoom meetings with passwords<\/h2>\n\n\n\n<p>Starting with Virtual Events 1.0.2, Zoom meetings are generated with an embedded password to meet Zoom&#8217;s <a href=\"https:\/\/support.zoom.us\/hc\/en-us\/articles\/360033331271-Account-setting-update-Password-default-for-meeting-and-webinar#:~:text=Zoom%20currently%20has%20a%20setting,the%20meeting%20requires%20a%20password.\" target=\"_blank\" rel=\"noreferrer noopener\">new security measures<\/a>. This means that there are essentially two versions of the Zoom Join link. The basic, <strong>limited-access link<\/strong> will prompt the user to enter a password before joining the meeting. The <strong>all-access link with an embedded password<\/strong> will allow the user immediate access to the meeting.<\/p>\n\n\n\n<p>This requires that the <strong>Have a minimum password length<\/strong> setting is enabled under <strong>Admin \u2192 Account Management \u2192 Account Settings \u2192 Security<\/strong> in Zoom.<\/p>\n\n\n\n<p>When a logged-in user views a virtual event page with a Zoom meeting, they&#8217;ll see buttons and\/or links with the embedded password. An anonymous (not logged-in) visitor will see the buttons and\/or links with the limited-access link, so they&#8217;ll be prompted for a password if they try to join. As a site admin, you\u2019ll be able to see the embedded password if you hover over the meeting link in the dashboard.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2020\/08\/Annotation-on-2020-08-24-at-13-42-43.png\" alt=\"Virtual Event Settings\" class=\"wp-image-1948032\"\/><\/figure>\n\n\n\n<p>To provide meeting access, you&#8217;ll need to use one or more of the following methods:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wordpress.org\/support\/article\/users-add-new-screen\/\" target=\"_blank\" rel=\"noreferrer noopener\">Create user accounts for participants<\/a> <\/li>\n\n\n\n<li>Allow open <a href=\"https:\/\/wordpress.org\/support\/article\/settings-general-screen\/#membership\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress user registration<\/a> (least secure)<\/li>\n\n\n\n<li>Manually give the password with your participants<\/li>\n\n\n\n<li>Use the Share options to send the full access link to RSVPed or ticketed attendees (see above).<\/li>\n<\/ul>\n\n\n\n<p><strong>Note: <\/strong>Zoom meeting links shared via RSVP or ticket emails always include the full access link with the embedded password. Attendees who receive the link via email will be able to access the meeting without being prompted for the password.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-adjusting-zoom-password-functionality\">Adjusting Zoom Password functionality<\/h3>\n\n\n\n<p>You also have the option to customize the default functionality to suit your needs. These filters can be added to your site to customize the Zoom password functionality. You can add and modify any one of the following to your theme&#8217;s functions.php file:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; gutter: false; title: ; notranslate\" title=\"\">\n&lt;?php\n\/**\n * Add a specific password to be used for all newly-generated Zoom meetings.\n *\/\nadd_filter( &#039;tribe_events_virtual_meetings_zoom_meeting_password&#039;, function () {\n\treturn &#039;PASSWORD&#039;;\n} );\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php\n\/**\n * Display the full access Zoom Join URL with embedded password with everyone, including anonymous site visitors.\n *\/\nadd_filter( &#039;tribe_events_virtual_meetings_zoom_meeting_include_password&#039;, &#039;__return_true&#039; );\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php\n\/**\n * Display the limited access Zoom Join URL without the embedded password with everyone. All users will be prompted for the password when they try to join.\n *\/\nadd_filter( &#039;tribe_events_virtual_meetings_zoom_meeting_include_password&#039;, &#039;__return_false&#039; );\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php\n\/**\n * Generate Zoom meetings without an embedded password.\n *\/\nadd_filter( &#039;tribe_events_virtual_meetings_zoom_meeting_password&#039;, function () {\n\treturn &#039;&#039;;\n} );\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php\n\/**\n * Generate new Zoom meetings with a 6 digit numeric embedded password.\n *\/\nadd_filter( &#039;tribe_events_virtual_meetings_zoom_password_requirements&#039;, function ( $requirements ) {\n\t$requirements = &#x5B;\n\t\t&#039;password_length&#039;                        =&gt; 6,\n\t\t&#039;password_have_special_character&#039;        =&gt; false,\n\t\t&#039;password_only_allow_numeric&#039;            =&gt; true,\n\t];\treturn $requirements;\n} );\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-create-protected-online-course-content\">Create protected online course content<\/h2>\n\n\n\n<p>You can add your LearnDash online course content to virtual events and only display that content to registered users if you&#8217;d like. Check out the step-by-step instructions in <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/learndash-integration\/\" target=\"_blank\" rel=\"noreferrer noopener\">this Knowledgebase article<\/a> to learn how to set up this integration.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Our virtual events provide options for limiting content access and are designed to keep your virtual and hybrid events secure. This article offers an overview of the built-in functionality you can use to meet your calendar goals. There are three basic ways to keep your virtual content protected: These options can be used alone or&#8230;<\/p>\n","protected":false},"author":3,"featured_media":1955565,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_swpsp_post_exclude":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"ep_exclude_from_search":false,"footnotes":""},"categories":[1],"tags":[],"stellar-product-taxonomy":[155,162],"class_list":["post-1947831","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","stellar-product-taxonomy-event-tickets","stellar-product-taxonomy-virtual-events"],"acf":[],"taxonomy_info":{"category":[{"value":1,"label":"Uncategorized"}],"stellar-product-taxonomy":[{"value":155,"label":"Event Tickets"},{"value":162,"label":"Virtual Events"}]},"featured_image_src_large":["https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/02\/social-share-1024x538.png",1024,538,true],"author_info":{"display_name":"Jaime Marchwinski","author_link":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/author\/jaimetri-be\/"},"comment_info":0,"category_info":[{"term_id":1,"name":"Uncategorized","slug":"uncategorized","term_group":0,"term_taxonomy_id":1,"taxonomy":"category","description":"","parent":0,"count":139,"filter":"raw","term_order":"0","cat_ID":1,"category_count":139,"category_description":"","cat_name":"Uncategorized","category_nicename":"uncategorized","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1947831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1947831"}],"version-history":[{"count":13,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1947831\/revisions"}],"predecessor-version":[{"id":1966487,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1947831\/revisions\/1966487"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media\/1955565"}],"wp:attachment":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=1947831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1947831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1947831"},{"taxonomy":"stellar-product-taxonomy","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/stellar-product-taxonomy?post=1947831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}