Support » Plugin: All-in-One Event Calendar » How to Open Link in New Window / New Tab?

  • Hi,

    How to make links in the calendar (month view) open a single event page in new tab / in new window.
    I would like a new separated window opened when a user clicks an event title.

    I’d appreciate if someone could help me out with this. Please refer me to the file name that should be edited, and perhaps also how to edit it. Thanks!

Viewing 11 replies - 1 through 11 (of 11 total)
  • Hello,

    Month view is controlled by file:

    Edit this file to make changes, and make sure you clear cache from plugin folder to reflect changes.

    Take care

    Hello Jashan

    Thanks for the reply.

    Unfortunately, I tried to change:

    <a href="{{ event.get_runtime( 'instance_permalink' ) | e('html_attr') }}"

    To following line:

    <a target="_blank" href="{{ event.get_runtime( 'instance_permalink' ) | e('html_attr') }}"

    But it does not make any change.
    Links (in month-view page) is still opened in same window.
    (I have cleared the plugin cache folder too)

    I’m new to this .twig things.
    Could you help me a little bit more by pointing me to a more detailed solution please?

    Thanks again!

    This didn’t work for me either.

    Any chance of a bit of direction here?


    I am needing help with this as well. I made the same change as alvbayu, cleared all caches, no luck.


    Plugin Contributor nicola.peluchetti


    Do you have a folder called ai1ec_static in wp-content?

    Yes, I sure do. There are appears to be no files in it though – empty.

    Plugin Contributor nicola.peluchetti


    Ok, try to do the following. Make the change in month.twig like i did on line 69

    Then find file app/config/constants.php and find the line

    if ( ! defined( 'AI1EC_DEBUG' ) ) {
    		define( 'AI1EC_DEBUG', false );

    change it to

    if ( ! defined( 'AI1EC_DEBUG' ) ) {
    		define( 'AI1EC_DEBUG', true );

    and reload the calendar page. This should force an update


    Sorry for shouting but it’s important that yo do not have debug mode on, it adds about 5 second to each page load and triples the memory requirments


    Thanks for the response. My month.twig file does not look like yours… I checked that I have the most updated version of the plugin. Here is my month.twig file contents:

    {{ navigation | raw }}
    <table class="ai1ec-month-view ai1ec-popover-boundary
    	{% if month_word_wrap %}ai1ec-word-wrap{% endif %}">
    			{% for weekday in weekdays %}
    				<th scope="col" class="ai1ec-weekday">{{ weekday }}</th>
    			{% endfor %}
    		{% for week in cell_array %}
    			{% set added_stretcher = false %}
    			<tr class="ai1ec-week">
    				{% for day in week %}
    					{% if is not empty %}
    						<td {% if is not empty %}class="ai1ec-today"{% endif %}>
    							{# This div is needed for laying out multi-day event bars. #}
    							{% if not added_stretcher %}
    								<div class="ai1ec-day-stretcher"></div>
    								{% set added_stretcher = true %}
    							{% endif %}
    							<div class="ai1ec-day">
    								<div class="ai1ec-date">
    									<a class="ai1ec-load-view"
    										{{ data_type | raw }}
    										href="{{ day.date_link | e('html_attr') }}"
    										>{{ }}</a>
    								{% for event in %}
    									<a href="{{ event.get_runtime( 'instance_permalink' ) | e('html_attr') }}"
    										{{ data_type_events | raw }}
    										{% if event.is_multiday %}
    											data-end-day="{{ event.get_runtime( 'multiday_end_day' ) }}"
    											data-start-truncated="{{ event.get( 'start_truncated' ) ? 'true' : 'false' }}"
    											data-end-truncated="{{ event.get( 'end_truncated' ) ? 'true' : 'false' }}"
    										{% endif %}
    										data-instance-id="{{ event.get( 'instance_id' ) }}"
    										class="ai1ec-event-container ai1ec-load-event
    											ai1ec-event-id-{{ event.get( 'post_id' ) }}
    											ai1ec-event-instance-id-{{ event.get( 'instance_id' ) }}
    											{% if event.is_allday %}ai1ec-allday{% endif %}
    											{% if event.is_multiday %}ai1ec-multiday{% endif %}"
    										<div class="ai1ec-event"
    											 style="{{ event.get_runtime( 'color_style' ) | e('html_attr') }}">
    											<span class="ai1ec-event-title">
    												{{ event.get_runtime( 'filtered_title' ) | raw }}
    											{% if not event.is_allday %}
    												<span class="ai1ec-event-time">
    													{{ event.get_runtime( 'short_start_time' ) }}
    											{% endif %}
    									{% include 'event-popup.twig' with {
    									'text_venue_separator': text_venue_separator
    									} %}
    								{% endfor %}
    					{% else %} {# is not empty #}
    						<td class="ai1ec-empty"></td>
    					{% endif %} {# is not empty #}
    				{% endfor %} {# day in week #}
    		{% endfor %} {# week in cell_array #}

    Also, when I made the change to the line in constants.php, it killed my site and deactivated the plugin 🙁 I got this error message in my wp-admin are:

    All In One Event Calendar has been disabled due to an error:

    Argument 2 passed to Ai1ec_Persistence_Context::__construct() must be an instance of Ai1ec_Cache_Strategy, array given, called in /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/registry/object.php on line 160 and defined

    exception ‘Ai1ec_Error_Exception’ with message ‘Argument 2 passed to Ai1ec_Persistence_Context::__construct() must be an instance of Ai1ec_Cache_Strategy, array given, called in /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/registry/object.php on line 160 and defined’ in /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/cache/strategy/persistence-context.php:33
    Stack trace:
    #0 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/cache/strategy/persistence-context.php(33): Ai1ec_Exception_Handler->handle_error(4096, ‘Argument 2 pass…’, ‘/nas/wp/www/clu…’, 33, Array)
    #1 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/registry/object.php(160): Ai1ec_Persistence_Context->__construct(‘ai1ec_parsed_cs…’, Array, true)
    #2 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/registry/object.php(102): Ai1ec_Registry_Object->initiate(‘Ai1ec_Persisten…’, Array)
    #3 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/css/frontend.php(73): Ai1ec_Registry_Object->get(‘cache.strategy….’, ‘ai1ec_parsed_cs…’, Array, true)
    #4 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/registry/object.php(154): Ai1ec_Css_Frontend->__construct(Object(Ai1ec_Registry_Object))
    #5 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/registry/object.php(102): Ai1ec_Registry_Object->initiate(‘Ai1ec_Css_Front…’, Array)
    #6 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/command/render-calendar.php(66): Ai1ec_Registry_Object->get(‘css.frontend’)
    #7 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/lib/command/abstract.php(74): Ai1ec_Command_Render_Calendar->do_execute()
    #8 /nas/wp/www/cluster-2385/iwga/wp-content/plugins/all-in-one-event-calendar/app/controller/front.php(126): Ai1ec_Command->execute()
    #9 [internal function]: Ai1ec_Front_Controller->route_request(”)
    #10 /nas/wp/www/cluster-2385/iwga/wp-includes/plugin.php(505): call_user_func_array(Array, Array)
    #11 /nas/wp/www/cluster-2385/iwga/wp-includes/template-loader.php(12): do_action(‘template_redire…’)
    #12 /nas/wp/www/cluster-2385/iwga/wp-blog-header.php(16): require_once(‘/nas/wp/www/clu…’)
    #13 /nas/wp/www/cluster-2385/iwga/index.php(17): require(‘/nas/wp/www/clu…’)
    #14 {main}

    Now the plugin will not reactivate no matter what I do. I hate to uninstall and reinstall and lose all my settings and events etc.

    Needless to say, this is still not possible… Would be a great addition to the plugin, ideally with a simple check box in the options /settings area.

    Thank you.

    Plugin Contributor nicola.peluchetti



    you would need to have it added here.

    {% for event in %}
    <a href=”{{ event.get_runtime( ‘instance_permalink’ ) | e(‘html_attr’) }}” target=”_BLANK”

    regarding the other error, do you have caching plugins active?

    Yeah, that’s where I put ‘target=”_BLANK” and it did not work. I host with WPEngine, and they have aggressive caching in place. I can ask that they exclude my calendar page from their caching. Do you think that would solve the issue? I know that even after I have used their ‘Purge all caches’ button this change has still not taken effect.


    Plugin Contributor nicola.peluchetti


    we’ve had issues with wpengine caches, try to turn it off. Just to be sure, when you edith month.twig, are doing it in a child theme?

    Because we use twig for templates and twig templates comes pre cached… it might be that cache is not regenerated. you can also try to delete what’s inside of the cache/twig folder

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘How to Open Link in New Window / New Tab?’ is closed to new replies.