{"id":1896544,"date":"2019-10-18T13:19:25","date_gmt":"2019-10-18T17:19:25","guid":{"rendered":"https:\/\/theeventscalendar.com\/knowledgebase\/changing-meta-field-labels-2\/"},"modified":"2026-04-16T13:36:09","modified_gmt":"2026-04-16T17:36:09","slug":"customizing-single-event","status":"publish","type":"post","link":"https:\/\/theeventscalendar.com\/knowledgebase\/customizing-single-event\/","title":{"rendered":"Customizing the Single Event Page"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-changing-the-all-events-back-link\">Changing the &#8220;All Events&#8221; Back Link<\/h2>\n\n\n\n<p>The &#8220;All Events&#8221; link at the top of single event pages points by default to the main events archive. If you&#8217;ve built a custom events page using a page builder or the <code>[tribe_events]<\/code> shortcode, you can redirect this link to any URL you choose.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-option-1-using-a-filter-recommended\">Option 1: Using a Filter (Recommended)<\/h4>\n\n\n\n<p>The URL is generated by the <a href=\"https:\/\/docs.theeventscalendar.com\/reference\/functions\/tribe_get_events_link\/\"><code>tribe_get_events_link()<\/code><\/a> function, which exposes a filter of the same name. Using the filter is the recommended approach because <code>tribe_get_events_link()<\/code> is also used by other plugin features \u2014 a template override only changes the back link, while the filter changes all uses of the function.<\/p>\n\n\n\n<p>Add the following to your child theme&#8217;s <code>functions.php<\/code> or via the <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/best-practices-for-implementing-custom-code-snippets\/\">Code Snippets<\/a> plugin:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nadd_filter( 'tribe_get_events_link', function() {\n    return '\/your-custom-url-here';\n} );\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"h-option-2-template-override\">Option 2: Template Override<\/h4>\n\n\n\n<p>If you prefer a template override, the file to copy depends on which editor you are using.<\/p>\n\n\n\n<p><strong>Block Editor:<\/strong> Copy:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/wp-content\/plugins\/the-events-calendar\/src\/views\/single-event\/back-link.php\n<\/pre><\/div>\n\n\n<p>to your theme at:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;your-theme]\/tribe\/events\/single-event\/back-link.php\n<\/pre><\/div>\n\n\n<p>Locate this block:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;p class=&quot;tribe-events-back&quot;&gt;\n    &amp;lt;a href=&quot;&amp;lt;?php echo esc_url( tribe_get_events_link() ); ?&gt;&quot;&gt;\n        &amp;amp;laquo; &amp;lt;?php printf( $label, $events_label_plural ); ?&gt;\n    &amp;lt;\/a&gt;\n&amp;lt;\/p&gt;\n<\/pre><\/div>\n\n\n<p>Replace <code>tribe_get_events_link()<\/code> with your custom URL:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;p class=&quot;tribe-events-back&quot;&gt;\n    &amp;lt;a href=&quot;&amp;lt;?php echo esc_url( &#039;\/your-custom-url-here&#039; ); ?&gt;&quot;&gt;\n        &amp;amp;laquo; &amp;lt;?php printf( $label, $events_label_plural ); ?&gt;\n    &amp;lt;\/a&gt;\n&amp;lt;\/p&gt;\n<\/pre><\/div>\n\n\n<p><strong>Classic Editor:<\/strong> Copy:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/wp-content\/plugins\/the-events-calendar\/src\/views\/single-event.php\n<\/pre><\/div>\n\n\n<p>to:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;your-theme]\/tribe-events\/single-event.php\n<\/pre><\/div>\n\n\n<p>Locate:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;p class=&quot;tribe-events-back&quot;&gt;\n    &amp;lt;a href=&quot;&amp;lt;?php echo esc_url( tribe_get_events_link() ); ?&gt;&quot;&gt; &amp;lt;?php printf( &#039;&amp;amp;laquo; &#039; . esc_html_x( &#039;All %s&#039;, &#039;%s Events plural label&#039;, &#039;the-events-calendar&#039; ), $events_label_plural ); ?&gt;&amp;lt;\/a&gt;\n&amp;lt;\/p&gt;\n<\/pre><\/div>\n\n\n<p>And replace it with:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;p class=&quot;tribe-events-back&quot;&gt;\n    &amp;lt;a href=&quot;&amp;lt;?php echo esc_url( &#039;\/your-custom-url-here&#039; ); ?&gt;&quot;&gt; &amp;lt;?php printf( &#039;&amp;amp;laquo; &#039; . esc_html_x( &#039;All %s&#039;, &#039;%s Events plural label&#039;, &#039;the-events-calendar&#039; ), $events_label_plural ); ?&gt;&amp;lt;\/a&gt;\n&amp;lt;\/p&gt;\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"h-seo-note\">SEO Note<\/h4>\n\n\n\n<p>When redirecting the &#8220;All Events&#8221; link to a custom page, the default <code>\/events\/<\/code> archive will still exist and can be indexed by Google. To avoid duplicate content, set up a redirect from the default events URL to your custom page URL. Plugins like <a href=\"https:\/\/wordpress.org\/plugins\/redirection\/\">Redirection<\/a>, Rank Math SEO (free), and Yoast SEO (paid) all provide redirect management.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-making-phone-numbers-callable\">Making Phone Numbers Callable<\/h2>\n\n\n\n<p>By default, venue and organizer phone numbers display as plain text on single event pages. Wrapping them in a <code>tel:<\/code> link lets visitors tap to call on mobile devices.<\/p>\n\n\n\n<p>This requires a template override of the phone number templates. The files to copy depend on which editor you are using.<\/p>\n\n\n\n<p><strong>Classic Editor<\/strong> \u2014 copy both files:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nplugins\/the-events-calendar\/src\/views\/modules\/meta\/organizer.php\nplugins\/the-events-calendar\/src\/views\/modules\/meta\/venue.php\n<\/pre><\/div>\n\n\n<p>to your theme at:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;your-theme]\/tribe-events\/modules\/meta\/organizer.php\n&#x5B;your-theme]\/tribe-events\/modules\/meta\/venue.php\n<\/pre><\/div>\n\n\n<p><strong>Block Editor<\/strong> \u2014 copy both files:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/the-events-calendar\/src\/views\/blocks\/parts\/venue.php\n\/the-events-calendar\/src\/views\/blocks\/parts\/organizer.php\n<\/pre><\/div>\n\n\n<p>to your theme at:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;your-theme]\/tribe\/events\/blocks\/parts\/venue.php\n&#x5B;your-theme]\/tribe\/events\/blocks\/parts\/organizer.php\n<\/pre><\/div>\n\n\n<p>In both copied templates, find the line that outputs the phone number:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php echo esc_html( $phone ) ?&gt;\n<\/pre><\/div>\n\n\n<p>Replace it with a <code>tel:<\/code> link:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;a href=&quot;tel:&amp;lt;?php echo esc_attr( $phone ) ?&gt;&quot;&gt;&amp;lt;?php echo esc_html( $phone ) ?&gt;&amp;lt;\/a&gt;\n<\/pre><\/div>\n\n\n<p>Keep the link wrapped in its existing <code>dd.tel<\/code> tags so the final result looks like this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;dd class=&quot;tel&quot;&gt;\n    &amp;lt;a href=&quot;tel:&amp;lt;?php echo esc_attr( $phone ) ?&gt;&quot;&gt;&amp;lt;?php echo esc_html( $phone ) ?&gt;&amp;lt;\/a&gt;\n&amp;lt;\/dd&gt;\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-making-the-organizer-email-a-mailto-link\">Making the Organizer Email a Mailto Link<\/h2>\n\n\n\n<p>By default, the organizer email address displays as plain text. Adding a <code>mailto:<\/code> link lets visitors open a new email to the organizer directly from their email client.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2015\/04\/Screen-Shot-2015-04-28-at-4.23.42-PM-665x216.png\" alt=\"Organizer email displayed as a clickable mailto link on the single event page\"\/><\/figure>\n\n\n\n<p>This is a Classic Editor template override only. Copy:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nplugins\/the-events-calendar\/src\/views\/modules\/meta\/organizer.php\n<\/pre><\/div>\n\n\n<p>to:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;your-theme]\/tribe-events\/modules\/meta\/organizer.php\n<\/pre><\/div>\n\n\n<p>Open the copied file and scroll to around line 55. Find:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php echo esc_html( $email ); ?&gt;\n<\/pre><\/div>\n\n\n<p>Replace it with:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;a href=&quot;mailto:&amp;lt;?php echo esc_attr( $email ) ?&gt;&quot;&gt;&amp;lt;?php echo esc_html( $email ); ?&gt;&amp;lt;\/a&gt;\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-customizing-the-event-website-link\">Customizing the Event Website Link<\/h2>\n\n\n\n<p>By default, the event website field displays the raw URL on the single event page when using Classic Editor:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2015\/04\/kb-eventwebsite-link.jpg\" alt=\"The default event website field showing a raw URL on the single event page\"\/><\/figure>\n\n\n\n<p>\ud83d\udca1 If you are using the <strong>Block Editor<\/strong>, custom link labels are already supported natively \u2014 you can set the link text directly in the event editor without any code.<\/p>\n\n\n\n<p>The following customizations apply to <strong>Classic Editor<\/strong> mode.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-change-the-url-to-a-linked-word\">Change the URL to a Linked Word<\/h3>\n\n\n\n<p>Add the following to your child theme&#8217;s <code>functions.php<\/code> or via the Code Snippets plugin. It replaces the raw URL with a &#8220;Visit Website \u00bb&#8221; label while keeping the link intact:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfunction tribe_get_event_website_link_label_default( $label, $post_id ) {\n    $url = tribe_get_event_website_url( $post_id );\n    if ( $label === $url ) {\n        $label = 'Visit Website \u00bb';\n    }\n    return $label;\n}\n\nadd_filter( 'tribe_get_event_website_link_label', 'tribe_get_event_website_link_label_default', 10, 2 );\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2015\/04\/kb-eventwebsite-linkedword.jpg\" alt=\"The event website field showing a linked word instead of a raw URL\"\/><\/figure>\n\n\n\n<p>To open the link in a new window, also add:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nadd_filter( 'tribe_get_event_website_link_target', static function() {\n    return '_blank';\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-change-the-url-to-a-button\">Change the URL to a Button<\/h3>\n\n\n\n<p>This snippet wraps the link in CSS classes so it can be styled as a button:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfunction tribe_change_event_website_link_to_button( $html ) {\n    $label   = &#039;Visit Website \u00bb&#039;;\n    $classes = &#039;button tribe-events-button tribe-common-c-btn tribe-common-c-btn--small&#039;;\n\n    if ( false === strpos( $html, &#039;class=&quot;&#039; ) ) {\n        $new_html = str_replace( &#039;href=&quot;&#039;, &#039;class=&quot;&#039; . $classes . &#039;&quot; href=&quot;&#039;, $html );\n    } else {\n        $new_html = str_replace( &#039;class=&quot;&#039;, &#039;class=&quot;&#039; . $classes . &#039; &#039;, $html );\n    }\n\n    if ( ! empty( $label ) ) {\n        $new_html = preg_replace( &#039;\/\\&quot;\\&gt;.{2,}?(\\&amp;lt;\\\/a&gt;)\/&#039;, &#039;&quot;&gt;&#039; . $label . &#039;&amp;lt;\/a&gt;&#039;, $new_html );\n    }\n\n    return $new_html;\n}\n\nadd_filter( &#039;tribe_get_event_website_link&#039;, &#039;tribe_change_event_website_link_to_button&#039; );\n<\/pre><\/div>\n\n\n<p>Customize the CSS classes to match your theme&#8217;s existing button styles, or define a new class. For example:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n.my-button-class {\n    background-color: red;\n    padding: 10px;\n    color: #fff;\n    float: left;\n}\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2015\/04\/Screen-Shot-2015-04-30-at-12.35.00-PM-665x262.png\" alt=\"The event website field displayed as a styled button\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-removing-the-website-heading\">Removing the &#8220;Website&#8221; Heading<\/h3>\n\n\n\n<p>If you&#8217;ve changed the URL to a linked word or button, you may want to remove the &#8220;Website:&#8221; label that appears above it. This requires a template override of <code>details.php<\/code>.<\/p>\n\n\n\n<p>Copy:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/plugins\/the-events-calendar\/src\/views\/modules\/meta\/details.php\n<\/pre><\/div>\n\n\n<p>to:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;your-theme]\/tribe-events\/modules\/meta\/details.php\n<\/pre><\/div>\n\n\n<p>Then remove the following <code>&lt;dt&gt;<\/code> block from the copied file:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/08\/Screen-Shot-2022-08-12-at-10.48.01.png\" alt=\"The details.php template showing the Website dt element to be removed\"\/><\/figure>\n\n\n\n<p>The result is a clean button or link with no heading above it:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2015\/04\/kb-eventwebsite-button.jpg\" alt=\"The event website displayed as a button with no Website heading\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-customizing-meta-field-labels\">Customizing Meta Field Labels<\/h2>\n\n\n\n<p>The single event meta area \u2014 the section below the event description listing details like website, categories, tags, venue, and organizer \u2014 uses a set of default labels that can be changed via a template override of <code>details.php<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2015\/03\/single-event-meta-details-area.png\" alt=\"The single event meta details area showing Website, Event Categories, and Event Tags labels\"\/><\/figure>\n\n\n\n<p>If you haven&#8217;t already created a <code>details.php<\/code> override from the Website Heading section above, copy the file now:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/the-events-calendar\/src\/views\/modules\/meta\/details.php\n<\/pre><\/div>\n\n\n<p>to:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;your-theme]\/tribe-events\/modules\/meta\/details.php\n<\/pre><\/div>\n\n\n<p>All three label changes below are made in this same file.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-changing-the-website-label\">Changing the Website Label<\/h3>\n\n\n\n<p>Find this line:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$website_title = tribe_events_get_event_website_title();\n<\/pre><\/div>\n\n\n<p>Replace it with your preferred label:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$website_title = \"To learn more, visit:\";\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-changing-the-event-categories-label\">Changing the Event Categories Label<\/h3>\n\n\n\n<p>Find the <code>tribe_get_event_categories()<\/code> call and locate this line within it:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#039;label&#039; =&gt; null, \/\/ An appropriate plural\/singular label will be provided\n<\/pre><\/div>\n\n\n<p>Replace <code>null<\/code> with your own label string:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#039;label&#039; =&gt; &#039;Find similar events:&#039;,\n<\/pre><\/div>\n\n\n<p>Keep the trailing comma in place.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-changing-the-event-tags-label\">Changing the Event Tags Label<\/h3>\n\n\n\n<p>Find the <code>tribe_meta_event_archive_tags()<\/code> call, which contains:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/* Translators: %s: Event (singular) *\/\nsprintf(\n    esc_html__( '%s Tags:', 'the-events-calendar' ),\n    tribe_get_event_label_singular()\n),\n<\/pre><\/div>\n\n\n<p>Replace that entire argument with your own label string:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n'Find events with specific details:',\n<\/pre><\/div>\n\n\n<p>Keep the trailing comma. The full function call should now read:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php\ntribe_meta_event_archive_tags(\n    &#039;Find events with specific details:&#039;,\n    &#039;, &#039;,\n    true\n);\n?&gt;\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2015\/03\/modified-section-of-event-meta.png\" alt=\"The single event meta area showing customized labels for Website, Categories, and Tags\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-display-the-event-author\">Display the Event Author<\/h2>\n\n\n\n<p>You can show the event author at the bottom of the event description by adding a code snippet to your theme.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Appearance \u2192 Theme File Editor<\/strong>, or use a plugin like <strong>Code Snippets<\/strong>.<\/li>\n\n\n\n<li>Add the following PHP code:<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\nadd_action( &#039;tribe_events_single_event_after_the_content&#039;, &#039;show_event_author_name&#039; );\n\nfunction show_event_author_name() {\n    $author_id = get_the_author_meta( &#039;ID&#039; );\n    $author_name = get_the_author();\n    $author_url = get_author_posts_url( $author_id );\n\n    echo &#039;&lt;p class=&quot;event-author&quot;&gt;&lt;strong&gt;Event created by:&lt;\/strong&gt; &lt;a href=&quot;&#039; . esc_url( $author_url ) . &#039;&quot;&gt;&#039; . esc_html( $author_name ) . &#039;&lt;\/a&gt;&lt;\/p&gt;&#039;;\n}\n<\/pre><\/div>\n\n\n<p>This will display a line like this below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"433\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/08\/Author-Display2-1024x433.png\" alt=\"\" class=\"wp-image-1966430\" style=\"border-width:1px\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/08\/Author-Display2-1024x433.png 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/08\/Author-Display2-300x127.png 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/08\/Author-Display2-768x325.png 768w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/08\/Author-Display2.png 1056w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-hiding-additional-content-on-single-event-pages\">Hiding Additional Content on Single Event Pages<\/h2>\n\n\n\n<p>The Events Calendar allows you to inject content above and below the calendar. This is handy if you want to display an image above it, or perhaps some additional information below. You&#8217;ll find these options under <strong>Events &gt; Settings &gt; Display &gt; Additional Content<\/strong>. By default, <strong>Additional Content<\/strong> will appear on all event-related pages, including the main events page, event archives, and single event pages.<\/p>\n\n\n\n<p>However, in some cases, you may want this content to appear <strong>only on archive or listing pages<\/strong>, and <strong>not on individual (single) event pages<\/strong>.<\/p>\n\n\n\n<p>To exclude the content from single event pages, you can use the following conditional snippet:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n\/\/HTML before event content\nadd_filter( \n\t'tribe_events_before_html', \n\tfunction( $before ) {\n\n\t\tif ( is_singular( Tribe__Events__Main::POSTTYPE ) ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn $before;\n\t} \n);\n\n\/\/HTML after event content\nadd_filter( \n\t'tribe_events_after_html', \n\tfunction( $after ) {\n\n\t\tif ( is_singular( Tribe__Events__Main::POSTTYPE ) ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn $after;\n\t} \n);\n<\/pre><\/div>\n\n\n<p>See&nbsp;<a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/best-practices-for-implementing-custom-code-snippets\/\">this article<\/a>&nbsp;for using custom code snippets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-adding-a-sidebar-to-event-pages\">Adding a Sidebar to Event Pages<\/h2>\n\n\n\n<p>By default, the sidebar from your theme may not appear on event pages. Adding one requires a template override of the Default Events Template.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-1-switch-to-the-default-events-template\">Step 1: Switch to the Default Events Template<\/h4>\n\n\n\n<p>Go to <strong>Events \u2192 Settings \u2192 Display<\/strong> and set the <strong>Events template<\/strong> dropdown to <strong>Default Events Template<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/11\/Screen-Shot-2022-11-29-at-3.09.51-PM-2.png\" alt=\"The Events Display settings screen with the Default Events Template selected\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-2-create-the-template-override\">Step 2: Create the Template Override<\/h4>\n\n\n\n<p>Copy the default template file:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/wp-content\/plugins\/the-events-calendar\/src\/views\/v2\/default-template.php\n<\/pre><\/div>\n\n\n<p>to your child theme. For a full walkthrough of the override process, see <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/k\/calendar-template-files-v2\/\">Template Files for The Events Calendar v2<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-3-add-the-sidebar-to-the-template\">Step 3: Add the Sidebar to the Template<\/h4>\n\n\n\n<p>With the copied template open, add your sidebar in the appropriate location within the layout. You have two options:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use an existing sidebar<\/strong> registered by your theme, using WordPress&#8217;s <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_sidebar\/\"><code>get_sidebar()<\/code><\/a> function.<\/li>\n\n\n\n<li><strong>Register a new sidebar<\/strong> specifically for event pages using <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_sidebar\/\"><code>register_sidebar()<\/code><\/a> in your child theme&#8217;s <code>functions.php<\/code>, then call it with <code>get_sidebar()<\/code> in the template.<\/li>\n<\/ul>\n\n\n\n<p>Once the sidebar is in place, it will appear in <strong>Appearance \u2192 Widgets<\/strong> where you can add and arrange widgets as usual.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Changing the &#8220;All Events&#8221; Back Link The &#8220;All Events&#8221; link at the top of single event pages points by default to the main events archive. If you&#8217;ve built a custom events page using a page builder or the [tribe_events] shortcode, you can redirect this link to any URL you choose. Option 1: Using a Filter&#8230;<\/p>\n","protected":false},"author":84,"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":[24,84],"tags":[115,30,58],"stellar-product-taxonomy":[158],"class_list":["post-1896544","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customizing","category-theming-overview","tag-classic-editor","tag-event-metadata","tag-php","stellar-product-taxonomy-events-calendar-pro"],"acf":[],"taxonomy_info":{"category":[{"value":24,"label":"Customizations"},{"value":84,"label":"Templating &amp; Layout"}],"post_tag":[{"value":115,"label":"Classic editor"},{"value":30,"label":"Event Metadata"},{"value":58,"label":"PHP"}],"stellar-product-taxonomy":[{"value":158,"label":"Events Calendar Pro"}]},"featured_image_src_large":["https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/02\/social-share-1024x538.png",1024,538,true],"author_info":{"display_name":"The Events Calendar Team","author_link":"https:\/\/theeventscalendar.com\/knowledgebase\/author\/the_events_calendar_team\/"},"comment_info":0,"category_info":[{"term_id":24,"name":"Customizations","slug":"customizing","term_group":0,"term_taxonomy_id":24,"taxonomy":"category","description":"","parent":0,"count":91,"filter":"raw","term_order":"0","cat_ID":24,"category_count":91,"category_description":"","cat_name":"Customizations","category_nicename":"customizing","category_parent":0},{"term_id":84,"name":"Templating &amp; Layout","slug":"theming-overview","term_group":0,"term_taxonomy_id":84,"taxonomy":"category","description":"","parent":24,"count":33,"filter":"raw","term_order":"0","cat_ID":84,"category_count":33,"category_description":"","cat_name":"Templating &amp; Layout","category_nicename":"theming-overview","category_parent":24}],"tag_info":[{"term_id":115,"name":"Classic editor","slug":"classic-editor","term_group":0,"term_taxonomy_id":115,"taxonomy":"post_tag","description":"","parent":27,"count":16,"filter":"raw","term_order":"0"},{"term_id":30,"name":"Event Metadata","slug":"event-metadata","term_group":0,"term_taxonomy_id":30,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw","term_order":"0"},{"term_id":58,"name":"PHP","slug":"php","term_group":0,"term_taxonomy_id":58,"taxonomy":"post_tag","description":"","parent":20,"count":49,"filter":"raw","term_order":"0"}],"_links":{"self":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1896544","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\/84"}],"replies":[{"embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1896544"}],"version-history":[{"count":10,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1896544\/revisions"}],"predecessor-version":[{"id":1969233,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1896544\/revisions\/1969233"}],"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=1896544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1896544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1896544"},{"taxonomy":"stellar-product-taxonomy","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/stellar-product-taxonomy?post=1896544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}