OgreAlert

Created On March 16th, 2020 | Last Update November 16th, 2022

Description

Display important information on every page of your website with this simple, lightweight plugin.

Note: This plugin is only compatible with WordPress-enabled sites.

Download Plugin

Installation

Adding the Plugin to Your WordPress Website

  1. Download the OgreAlert plugin (.zip file)
  2. Login to backend of your WordPress website
  3. On the left side navigation of your dashboard, click “Plugins” > “Add New” > “Upload Plugin”
  4. Locate the zip file, select it and click “Open” > “Install Now”
  5. Click “Activate Plugin”

Creating a New Alert

  1. On the left side navigation of your dashboard click the new item “Alerts” > “Add New”
  2. Type in a title for your alert (the title is not displayed on the website) to help identify and keep track of your alerts
  3. Add in the text for your alert in the text editor section
  4. Select a priority level for your alert from the dropdown at the bottom right of the screen — we suggest “High”
  5. Optional: choose a date for the alert to expire
  6. Choose the timeframe for showing the alert again after the viewer dismisses it (clicking the X)
  7. Click “Publish”

Alert Settings

  1. On the left side navigation of your dashboard, click the new item “Alerts” > “Settings” to change the following:
    • Where the alert shows on your website — “fixed bottom” and “fixed top” are the preferred positions
    • Change the color of the background and text for each priority level
  2. Click “Save Settings” when done to apply the new settings to all currently published alerts

Screenshots

Example of an alert fixed to the bottom of a website.



OgreAlerts settings page.

Details

  • Requires at least: 4.8.0
  • Tested up to: 5.7.1
  • Stable tag: 0.1.9
  • License: GPLv2 or later

Changelog

0.1.9 - 05-24-2021

  • NEW: Z-index field in OgreAlert settings.
  • BUG: Replaced wp_make_content_images_responsive filter with wp_filter_content_tags for WP 5.5.0 compatibility.
  • BUG: Renamed display.js to frontend.js to prevent ad blockers.

0.1.8 - 05-12-2021

  • DEV: Moved FontAwesome webfonts to separated folder in assets.
  • DEV: Added plugin packaging makefile.
  • DEV: Renamed "scss" folder to "sass".
  • DEV: Removed FontAwesome SVG assets to reduce package file size. Reduces compatibility with old IE versions.

0.1.7 - 04-06-2020

  • Fixed posts column expiration date display bug.

0.1.6 - 04-02-2020

  • Added styling to alert title to ensure screen-reader compatibility.

0.1.5 - 04-02-2020

  • Removed dependency on the_content filter and moved filters to ogrealert/content.
  • Fixed box-sizing compatibility issue on dismiss button.

0.1.4 - 03-30-2020

  • Added per page dismiss duration option.

0.1.3 - 03-24-2020

  • Added message dismiss transition animation setting.
  • Improved dismiss cookie validation with timestamps.
  • Improved alert message template with added filters.
  • Removed license key requirement.

0.1.2 - 03-18-2020

  • Added "None" dismiss duration option to remove dismiss ability on alert.

0.1.1 - 03-17-2020

  • Fixed validate_ids parameter type.

0.1.0 - 03-16-2020

  • Initial build of OgreAlert plugin.

Download the OgreAlert Plugin

In order to download the free OgreAlert plugin, please fill out and submit this form. The download of the zipped plugin should start once the form has been processed.

var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});
  • This field is for validation purposes and should be left unchanged.
/* = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_1').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_1').val();gformInitSpinner( 1, 'https://plugins.cleverogre.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_1').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_1').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}, 50);}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_1" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_1"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [1, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 1, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); /* ]]> */

Artwork by Samantha Earley.