{"id":1960377,"date":"2024-05-21T11:17:25","date_gmt":"2024-05-21T15:17:25","guid":{"rendered":"https:\/\/theeventscalendar.com\/knowledgebase\/?p=1960377"},"modified":"2026-04-23T18:55:36","modified_gmt":"2026-04-23T22:55:36","slug":"customize-event-tickets","status":"publish","type":"post","link":"https:\/\/theeventscalendar.com\/knowledgebase\/customize-event-tickets\/","title":{"rendered":"Customizing Event Tickets"},"content":{"rendered":"\n<p>Many sites want to tweak how tickets and RSVPs look or behave on event pages. This article collects a range of common customizations \u2014 from small visual adjustments on the event page to filter hooks that change how tickets are presented across your calendar.<\/p>\n\n\n\n<p><strong>See also:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/customize-rsvp\/\">Customizing Event RSVPs<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/customize-tickets-commerce\/\">Customizing Tickets Commerce Purchases<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/customize-ticket-emails\/\">Customizing Ticket Emails<\/a><\/li>\n<\/ul>\n\n\n\n<p>Customizations for The Events Calendar are usually implemented via code snippets or template overrides. Add snippets to your child theme&#8217;s <code>functions.php<\/code> file or use the Code Snippets plugin. Template overrides should go in a child theme. If either approach is new to you, start with <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/best-practices-for-implementing-custom-code-snippets\/\">Using Code Snippets to Customize The Events Calendar<\/a> and <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/customizing-template-files\/\">Customizing The Events Calendar Templates<\/a> for a walkthrough of each.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-hide-number-of-people-attending-from-event-pages\">Hide Number of People Attending from Event Pages<\/h2>\n\n\n\n<p>If you&#8217;d like to remove the number of attendees for your events, you can easily do so by adding a simple CSS snippet to your WordPress site. Follow the instructions below to hide the number of people who are attending the event from being displayed on your event pages. This can help create a more streamlined and focused presentation for your audience.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Hide Number of People Attending\" width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/Er0tV6fo5g0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Copy the below code into your (child) theme\u2019s&nbsp;<em>style.css<\/em>&nbsp;file, or add it to&nbsp;<em>Appearance &gt; Customize &gt; Additional CSS<\/em>&nbsp;box (or wherever you usually put custom styling).<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: css; title: ; notranslate\" title=\"\">\n.single-tribe_events .tribe-tickets__rsvp-attendance {\ndisplay: none !important;\n}\n<\/pre><\/div>\n\n\n<p>Another way to achieve this is a snippet that can be added to your theme&#8217;s functions.php file or with a plugin like&nbsp;<a href=\"https:\/\/wordpress.org\/plugins\/code-snippets\/\">Code Snippets<\/a>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: css; title: ; notranslate\" title=\"\">\nadd_filter( &#039;tribe_template_done&#039;, function ($show, $name) { \nreturn &#039;v2\/rsvp\/details\/attendance&#039; === $name ? &#039;&#039; : $show; \n}, 10, 2 );\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-display-ticket-description-on-mobile-view\">Display Ticket Description on Mobile View<\/h2>\n\n\n\n<p><strong>Is your ticket description not showing on mobile?<\/strong> If you&#8217;re facing an issue where the ticket description is not visible on mobile devices, this simple fix will ensure that the ticket details are displayed correctly.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"step-2-add-custom-css\"> Add Custom CSS<\/h4>\n\n\n\n<p>To resolve this, you need to add a few lines of CSS to your WordPress site. Follow these steps:<\/p>\n\n\n\n<p>Navigate to <strong>Appearance &gt; Customize &gt; Additional CSS<\/strong> in your WordPress dashboard.<\/p>\n\n\n\n<p>Insert the following CSS code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@media (max-width: 768px){\n.event-tickets .tribe-tickets__tickets-item-details-content {\n   display: block !important;\n}\n\n.event-tickets .tribe-tickets__tickets-item-extra{\n grid-row: 4 !important;\n}\n\n.event-tickets .tribe-tickets__tickets-item-details-content{\n     grid-row: 2 !important;\n}\n}<\/code><\/pre>\n\n\n\n<p>Click <strong>Publish<\/strong> to save your changes.<\/p>\n\n\n\n<p><strong>What This Does<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Forces the ticket description to be visible on mobile screens.<\/li>\n\n\n\n<li>Adjusts the grid structure to ensure proper alignment of ticket details.<\/li>\n\n\n\n<li>Enhances the user experience by making ticket descriptions more accessible.<\/li>\n<\/ul>\n\n\n\n<p>Once you apply this CSS, the ticket description will now appear correctly in the mobile view, ensuring that users can easily see all relevant details when booking tickets.<\/p>\n\n\n\n<p><strong>Before:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"453\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/b-1024x453.jpg\" alt=\"\" class=\"wp-image-1964325\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/b-1024x453.jpg 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/b-300x133.jpg 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/b-768x339.jpg 768w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/b.jpg 1179w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>After:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/a-1024x549.jpg\" alt=\"\" class=\"wp-image-1964326\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/a-1024x549.jpg 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/a-300x161.jpg 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/a-768x412.jpg 768w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/a.jpg 1153w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-display-attendee-names-in-public-attendee-list\">Display Attendee Names in Public Attendee List<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/public-attendee-list\/\" target=\"_blank\" rel=\"noreferrer noopener\">Public Attendee List<\/a> feature in <a href=\"https:\/\/theeventscalendar.com\/products\/wordpress-event-tickets\/\">Event Tickets<\/a> makes it easy to showcase the attendees of your events right on the single event pages. By default, it only shows the attendee avatars, which is handy but might leave your users wanting a bit more. Imagine how wonderful it would be to enhance that list by adding names next to the avatars. This simple change can make your event feel more connected and inviting for everyone involved. In this article, we\u2019ll walk you through the steps to customize template files and make that happen!<\/p>\n\n\n\n<p>Follow these steps to override and customize the template file and show attendee names along with their avatars in the attendee list:<\/p>\n\n\n\n<p><strong>1- Make a Copy of the Template File<\/strong><\/p>\n\n\n\n<p>Navigate to the following file within the Event Tickets plugin:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; gutter: false; title: ; notranslate\" title=\"\">\n\/wp-content\/plugins\/event-tickets\/src\/views\/blocks\/attendees\/gravatar.php\n<\/pre><\/div>\n\n\n<p>Copy the <code>gravatar.php<\/code> file from this location.<\/p>\n\n\n\n<p><strong>2- Paste the File in Your Theme Directory<\/strong><\/p>\n\n\n\n<p>Paste the copied file into your active theme\u2019s directory. If the necessary folders don\u2019t exist, create them. Match the following path:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; gutter: false; title: ; notranslate\" title=\"\">\n\/wp-content\/themes\/&#x5B;your-theme]\/tribe\/tickets\/blocks\/attendees\/gravatar.php\n<\/pre><\/div>\n\n\n<p><strong>3- Add Attendee Names<\/strong><\/p>\n\n\n\n<p>Open the newly added file and append the following line of code at the end:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; gutter: false; title: ; notranslate\" title=\"\">\necho $attendee&#x5B;&#039;purchaser_name&#039;];\n<\/pre><\/div>\n\n\n<p><strong>4- Save Your Changes and Test<\/strong><\/p>\n\n\n\n<p>Save the changes to the file. Navigate to an event page where the Public Attendee List is displayed. Ensure that attendee names are now displayed with avatars.<\/p>\n\n\n\n<p>Following these simple steps, you can easily personalize the attendee list to display names alongside avatars. This makes your event pages more informative and engaging for everyone involved. Just a quick tip: When you add these attendee names, you may want to sprinkle some CSS to ensure the list is visually appealing and fits perfectly with your site&#8217;s design.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"customize\">Emphasizing the Sale Price<\/h2>\n\n\n\n<p>Let&#8217;s say you want to customize the original price to draw attention to the sale. Maybe that&#8217;s making the price red instead of black.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/04\/Screenshot-2024-04-05-at-12.51.08-1024x481.png\" alt=\"\" class=\"wp-image-1959684\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/04\/Screenshot-2024-04-05-at-12.51.08-1024x481.png 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/04\/Screenshot-2024-04-05-at-12.51.08-300x141.png 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/04\/Screenshot-2024-04-05-at-12.51.08-768x361.png 768w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/04\/Screenshot-2024-04-05-at-12.51.08.png 1218w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>The <code>.tribe-tickets__item__extra__price .tribe-tickets__original_price<\/code> class is what you&#8217;ll want to use in your theme&#8217;s CSS, or on the Additional CSS section at <em>wp-admin &gt; Appearance &gt; Customizer &gt; Additional CSS. <\/em><\/p>\n\n\n\n<p>Here&#8217;s an example:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: css; title: ; notranslate\" title=\"\">\n.tribe-tickets__tickets-original-price span {\n  color: red;\n  font-size: 1.5rem;\n  font-weight: bolder;\n  padding-right: 1rem;\n }\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-disable-free-tickets\">Disable Free Tickets<\/h2>\n\n\n\n<p>This filter allows you to completely disable the Free Ticket feature. Once you apply this filter, all the tickets created need to have their price higher than 0 (zero).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/**<br>*<br>* This Filter allows user to completely disable the Free Tickets featur<br>* <br>* @filter: tec_tickets_commerce_is_free_ticket_allowed<br>* @path: \/event-tickets\/src\/Tickets\/Commerce\/Hooks.php:138<br>* @article: https:\/\/theeventscalendar.com\/knowledgebase\/making-tickets\/ <br>* <br>*\/<br><br>add_filter( 'tec_tickets_commerce_is_free_ticket_allowed', '__return_false' );<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-modifying-the-default-message-for-tickets-not-yet-available\">Modifying the Default Message for Tickets Not Yet Available<\/h2>\n\n\n\n<p>Occasionally, you may add an event to your calendar before tickets become available. In this case, the ticket block on the frontend will display the message, &#8220;Tickets will be available on <code>[date]<\/code>.&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"102\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/image-10.png\" alt=\"\" class=\"wp-image-1964274\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/image-10.png 432w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/image-10-300x71.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/figure>\n\n\n\n<p>If you&#8217;d like to customize this default text, you can use the PHP snippet below.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\nadd_filter( &#039;event_tickets_unvailable_message&#039;, function( $message, $tickets ) {\n\treturn &quot;Your custom text&quot;;\n}, 10, 2 );\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"102\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/image-11.png\" alt=\"\" class=\"wp-image-1964275\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/image-11.png 432w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/image-11-300x71.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-enable-public-attendees-list-for-all-events\">Enable Public Attendees List for All Events<\/h2>\n\n\n\n<p>The public attendees list is a feature of the <span style=\"text-decoration: underline;\"><a href=\"https:\/\/theeventscalendar.com\/products\/wordpress-event-tickets\/\">Event Tickets Plus<\/a><\/span> plugin that shows a list of attendees for public events. This can enhance the user experience by allowing potential guests to see who else is attending, thus encouraging them to join in. However, as stated, it is deactivated by default and requires each event to be modified individually to enable this setting.<\/p>\n\n\n\n<p>This can become tedious, especially for event managers with numerous upcoming events. Instead of manually activating the feature for each event, you can use a code snippet to apply the changes universally.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php \/\/Do not copy this line\n\nadd_filter( &#039;tribe_tickets_hide_attendees_list&#039;, function ( $hidden, $post ) {\n\tif ( function_exists( &#039;tribe_is_event&#039; ) &amp;&amp; tribe_is_event( $post ) ) {\n\t\treturn false;\n\t}\n\n\treturn $hidden;\n}, 10, 2 );\n<\/pre><\/div>\n\n\n<p>Utilizing this code snippet is an efficient way to streamline the process of activating the public attendees list for all your events. Rather than activating the feature one event at a time, you can easily ensure that all events display a list of attendees to enhance participation and engagement.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-for-developers\">For Developers<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.theeventscalendar.com\/reference\/hooks\/tribe_tickets_hide_attendees_list\/\">tribe_tickets_hide_attendees_list<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.theeventscalendar.com\/reference\/functions\/tribe_is_event\/\">tribe_is_event<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-changing-the-number-of-events-shown-in-the-event-tickets-plus-app\">Changing the Number of Events Shown in the Event Tickets Plus App<\/h2>\n\n\n\n<p>By default, the Event Tickets Plus app limits the number of events displayed per page to 50. However, you can easily override this limit by adding a small PHP snippet to your site.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-how-to-increase-the-event-limit\">\ud83d\udcd8 How to Increase the Event Limit<\/h4>\n\n\n\n<p>To customize the number of events displayed, add the following code snippet:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\nadd_filter( &#039;tribe_rest_event_max_per_page&#039;, function( $per_page ) {\n    return 100; \/\/ Or whatever limit you need\n}, 10, 1 );\n\n<\/pre><\/div>\n\n\n<p>Replace <code>100<\/code> with your desired number of events.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-important-note\">\u26a0\ufe0f Important Note<\/h4>\n\n\n\n<p>Avoid setting this value too high. Increasing the number of events significantly can impact your server\u2019s performance and resource usage, especially on sites with large datasets or limited hosting resources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-hide-remaining-ticket-quantity\">Hide Remaining Ticket Quantity<\/h2>\n\n\n\n<p>Use the CSS snippet below to hide the available ticket quantity shown in the ticket or RSVP.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: css; title: ; notranslate\" title=\"\">\n\/* list view *\/\n.tribe-events .tribe-events-c-small-cta__stock {\n    display: none !important;\n}\n \n\/* single view *\/\n.tribe-common-b3.tribe-tickets__tickets-item-extra-available {\n    display: none;\n}\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-change-the-get-tickets-link-text-on-calendar-views\">Change the \u201cGet Tickets\u201d Link Text on Calendar Views<\/h2>\n\n\n\n<p>With <a href=\"https:\/\/theeventscalendar.com\/products\/wordpress-event-tickets\/\" target=\"_blank\" rel=\"noreferrer noopener\">Event Tickets and Event Tickets Plus<\/a>, events with tickets have a &#8220;Get Tickets&#8221; link that appears by default in certain places on the calendar, like list view:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"\/knowledgebase\/wp-content\/uploads\/2020\/02\/get-tickets-v2-1024x615.png\" alt=\"\" class=\"wp-image-1946048\"\/><\/figure>\n\n\n\n<p>There&#8217;s one in the event view as well:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"\/knowledgebase\/wp-content\/uploads\/2020\/02\/get-tickets-v2-kb-single-1024x456.png\" alt=\"\" class=\"wp-image-1945827\"\/><\/figure>\n\n\n\n<p>Let&#8217;s say we want that to say something else, like &#8220;Register Now!&#8221; or something. Here&#8217;s a snippet that you can use to change the link text to whatever works best for your site:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n\/**\n * Change the Get Tickets on List View and Single Events\n *\n * @param string $translation The translated text.\n * @param string $text        The text to translate.\n * @param string $context     The option context string.\n * @param string $domain      The domain slug of the translated text.\n *\n * @return string The translated text or the custom text.\n *\/\n\nadd_filter( &#039;gettext_with_context&#039;, &#039;tribe_change_get_tickets&#039;, 20, 4 );\nfunction tribe_change_get_tickets( string $translation, string $text, string $context, string $domain ): string {\n\n\tif (\n\t\t$domain != &#039;default&#039;\n\t\t&amp;&amp; ! str_starts_with( $domain, &#039;event-&#039; )\n\t) {\n\t\treturn $translation;\n\t}\n\n\t$ticket_text = &#x5B;\n\t\t\/\/ Get Tickets on List View\n\t\t&#039;Get %s&#039;      =&gt; &#039;Register Now!&#039;,\n\t\t\/\/ Get Tickets Form - Single View\n\t\t&#039;Get Tickets&#039; =&gt; &#039;Register Now!&#039;,\n\t];\n\n\t\/\/ If we don&#039;t have replacement text, bail.\n\tif ( empty( $ticket_text&#x5B; $text ] ) ) {\n\t\treturn $translation;\n\t}\n\n\treturn $ticket_text&#x5B; $text ];\n}\n<\/pre><\/div>\n\n\n<p>Note, <code>$context<\/code> and <code>$domain<\/code> parameters are not used in the above example, so they can be omitted. If so, remember to change the number of parameters from 4 to 2 when applying the filter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-redirecting-ticket-buyers-to-a-custom-login-page\">Redirecting Ticket Buyers to a Custom Login Page<\/h2>\n\n\n\n<p>Using&nbsp;<strong>Event Tickets<\/strong>, we have an option for requiring users to log into their accounts for registering for an event. When this option is enabled, a button for notifying users will be displayed in the ticket\/RSVP block.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"357\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/05\/image-46.png\" alt=\"\" class=\"wp-image-1969649\" style=\"width:921px;height:auto\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/05\/image-46.png 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/05\/image-46-300x105.png 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/05\/image-46-768x268.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>By default, this button will take users to the default WordPress login page.<\/p>\n\n\n\n<p>Often, you might find this unsuitable, and you may rather send users to a custom login page; the good news is that it would be possible with a bit of customization.<\/p>\n\n\n\n<p>As the first step, you need to install and activate a plugin for creating a custom login\/registration page. You can find the list of recommended plugins&nbsp;<a href=\"https:\/\/www.wpbeginner.com\/plugins\/best-wordpress-login-page-plugins\/\">here<\/a>.<\/p>\n\n\n\n<p>Most plugins provide a shortcode for creating a custom login page, or at least have a predefined URL\/page for it.&nbsp;<br><br>Once you know the custom login page URL, it\u2019s time to add a snippet to do the trick:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php \/\/Do not copy this line\n\nadd_filter( &#039;tribe_tickets_ticket_login_url&#039;, function ( $login_url ) {\n\t$login_page = &#039;\/new_login_page&#039;;\n\n\treturn site_url() . $login_page . &#039;?redirect_to=&#039; . urlencode( tribe_get_event()-&gt;permalink );\n} );\n<\/pre><\/div>\n\n\n<p>All you need to do is replace <code>\/new_login_page<\/code> with the actual URL. After logging in, users will be redirected back to the event page where they started.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-display-ticket-sale-start-time\"><strong>Display Ticket Sale Start Time<\/strong><\/h2>\n\n\n\n<p>By default, Event Tickets does not show the ticket sale start time if tickets aren&#8217;t yet available. This tweak ensures that this crucial information is always visible to visitors.<\/p>\n\n\n\n<p><strong>What it does:<\/strong>&nbsp;Allows inclusion of ticket start sale time in unavailability message<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\nadd_filter( &#039;tribe_tickets_unvailable_message_time&#039;, &#039;__return_true&#039; );\n<\/pre><\/div>\n\n\n<p><strong>Result:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"271\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/06\/Screenshot-2025-06-30-at-23.28.31-1024x271.png\" alt=\"\" class=\"wp-image-1965823\" style=\"width:691px;height:auto\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/06\/Screenshot-2025-06-30-at-23.28.31-1024x271.png 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/06\/Screenshot-2025-06-30-at-23.28.31-300x79.png 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/06\/Screenshot-2025-06-30-at-23.28.31-768x203.png 768w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/06\/Screenshot-2025-06-30-at-23.28.31.png 1198w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Ref:<\/strong>&nbsp;<a href=\"https:\/\/docs.theeventscalendar.com\/reference\/hooks\/tribe_tickets_unvailable_message_time\/\" target=\"_blank\" rel=\"noreferrer noopener\">tribe_tickets_unvailable_message_time<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many sites want to tweak how tickets and RSVPs look or behave on event pages. This article collects a range of common customizations \u2014 from small visual adjustments on the event page to filter hooks that change how tickets are presented across your calendar. See also: Hide Number of People Attending from Event Pages If&#8230;<\/p>\n","protected":false},"author":46,"featured_media":1955565,"comment_status":"open","ping_status":"open","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":[116,24,59,84],"tags":[23,25],"stellar-product-taxonomy":[155,156],"class_list":["post-1960377","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css","category-customizing","category-php","category-templates","tag-css","tag-customizations","stellar-product-taxonomy-event-tickets","stellar-product-taxonomy-event-tickets-plus"],"acf":[],"taxonomy_info":{"category":[{"value":116,"label":"CSS"},{"value":24,"label":"Customizing"},{"value":59,"label":"PHP"},{"value":84,"label":"Template Overrides"}],"post_tag":[{"value":23,"label":"CSS"},{"value":25,"label":"Customizations"}],"stellar-product-taxonomy":[{"value":155,"label":"Event Tickets"},{"value":156,"label":"Event Tickets Plus"}]},"featured_image_src_large":["https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/02\/social-share-1024x538.png",1024,538,true],"author_info":{"display_name":"Iris Irvin","author_link":"https:\/\/theeventscalendar.com\/knowledgebase\/author\/iris\/"},"comment_info":0,"category_info":[{"term_id":116,"name":"CSS","slug":"css","term_group":0,"term_taxonomy_id":116,"taxonomy":"category","description":"","parent":24,"count":19,"filter":"raw","term_order":"0","cat_ID":116,"category_count":19,"category_description":"","cat_name":"CSS","category_nicename":"css","category_parent":24},{"term_id":24,"name":"Customizing","slug":"customizing","term_group":0,"term_taxonomy_id":24,"taxonomy":"category","description":"","parent":0,"count":67,"filter":"raw","term_order":"0","cat_ID":24,"category_count":67,"category_description":"","cat_name":"Customizing","category_nicename":"customizing","category_parent":0},{"term_id":59,"name":"PHP","slug":"php","term_group":0,"term_taxonomy_id":59,"taxonomy":"category","description":"","parent":24,"count":52,"filter":"raw","term_order":"0","cat_ID":59,"category_count":52,"category_description":"","cat_name":"PHP","category_nicename":"php","category_parent":24},{"term_id":84,"name":"Template Overrides","slug":"templates","term_group":0,"term_taxonomy_id":84,"taxonomy":"category","description":"","parent":24,"count":27,"filter":"raw","term_order":"0","cat_ID":84,"category_count":27,"category_description":"","cat_name":"Template Overrides","category_nicename":"templates","category_parent":24}],"tag_info":[{"term_id":23,"name":"CSS","slug":"css","term_group":0,"term_taxonomy_id":23,"taxonomy":"post_tag","description":"","parent":20,"count":10,"filter":"raw","term_order":"0"},{"term_id":25,"name":"Customizations","slug":"customizations","term_group":0,"term_taxonomy_id":25,"taxonomy":"post_tag","description":"","parent":0,"count":31,"filter":"raw","term_order":"0"}],"_links":{"self":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1960377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1960377"}],"version-history":[{"count":22,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1960377\/revisions"}],"predecessor-version":[{"id":1970172,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1960377\/revisions\/1970172"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media\/1955565"}],"wp:attachment":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=1960377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1960377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1960377"},{"taxonomy":"stellar-product-taxonomy","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/stellar-product-taxonomy?post=1960377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}