{"id":15675216,"url":"https://github.com/joryhogeveen/off-canvas-sidebars","last_synced_at":"2025-05-06T21:08:25.343Z","repository":{"id":45563900,"uuid":"49716950","full_name":"JoryHogeveen/off-canvas-sidebars","owner":"JoryHogeveen","description":"This plugin will add various options to implement off-canvas sidebars in your WordPress theme based on the Slidebars jQuery plugin.","archived":false,"fork":false,"pushed_at":"2025-03-07T19:46:50.000Z","size":3382,"stargazers_count":14,"open_issues_count":29,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-06T21:08:13.711Z","etag":null,"topics":["canvas-sidebars","off-canvas","off-canvas-menu","off-canvas-sidebars","side-menu","sidebars","slide-in-menu","slide-menu","slidebars","slidebars-jquery-plugin","wordpress","wordpress-plugin","wp-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JoryHogeveen.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"license.txt","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"JoryHogeveen","custom":"https://www.keraweb.nl/donate.php?for=off-canvas-sidebars"}},"created_at":"2016-01-15T12:14:13.000Z","updated_at":"2025-03-07T14:42:26.000Z","dependencies_parsed_at":"2024-01-31T16:54:01.171Z","dependency_job_id":"51b73ac3-1a95-459d-bfa6-786906c71403","html_url":"https://github.com/JoryHogeveen/off-canvas-sidebars","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoryHogeveen%2Foff-canvas-sidebars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoryHogeveen%2Foff-canvas-sidebars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoryHogeveen%2Foff-canvas-sidebars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoryHogeveen%2Foff-canvas-sidebars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoryHogeveen","download_url":"https://codeload.github.com/JoryHogeveen/off-canvas-sidebars/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252769423,"owners_count":21801378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas-sidebars","off-canvas","off-canvas-menu","off-canvas-sidebars","side-menu","sidebars","slide-in-menu","slide-menu","slidebars","slidebars-jquery-plugin","wordpress","wordpress-plugin","wp-plugin"],"created_at":"2024-10-03T15:57:41.399Z","updated_at":"2025-05-06T21:08:25.325Z","avatar_url":"https://github.com/JoryHogeveen.png","language":"PHP","funding_links":["https://github.com/sponsors/JoryHogeveen","https://www.keraweb.nl/donate.php?for=off-canvas-sidebars"],"categories":[],"sub_categories":[],"readme":"=== Off-Canvas Sidebars \u0026 Menus (Slidebars) ===\nContributors: keraweb\nDonate link: https://www.keraweb.nl/donate.php?for=off-canvas-sidebars\nTags: off-canvas, menus, widgets, sidebars, slidebars, panels, jQuery, app, mobile, tablet, responsive, genesis\nRequires at least: 4.1\nTested up to: 6.4\nRequires PHP: 5.2.4\nStable tag: 0.5.8.2\n\nAdd off-canvas sidebars (Slidebars) containing widgets, menus or other content using the Slidebars jQuery plugin.\n\n== Description ==\n\nThis plugin will add various options to implement off-canvas sidebars in your WordPress theme based on the Slidebars jQuery plugin.\n\n= Overview / Features =\n\n*\tAdd off-canvas sidebars to the left, right, top and bottom of your website.\n*\tUse sidebar areas (widget-ready areas), menu locations or [custom hooks](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Actions-\u0026-Filters) to place content into the off-canvas sidebars.\n*\tYou can add control buttons with a widget, menu item, [shortcode](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Shortcodes) or with [custom code](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Theme-setup).\n*\tVarious customisation options and settings available in the Appearances menu.\n*\tExtensive API for [PHP](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/PHP-API) and [JS](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/JavaScript-API).\n\n= Compatibility (IMPORTANT!) =\n\nThe structure of your theme is of great importance for this plugin. Please read the [installation guide](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Theme-setup) carefully!!\n\nThis plugin should work with most themes and plugins although I can't be sure for all use-cases. Also note that at this point it's still a 0.x version...\nIf the plugin does not work for your theme, please let me know through the support and add a plugins and themes list and I will take a look!\n\n**Fixed elements (like sticky menu's)**  \nThere are known issues with fixed elements and Slidebars. [Click here for more information](https://www.adchsm.com/slidebars/help/advanced-usage/elements-with-fixed-positions/)  \nI've created two possible solutions for this:\n\n1. Legacy CSS solution. Use basic CSS2 positioning instead of CSS3 transform with hardware acceleration.\n2. JavaScript solution. It is slower but still allows the use of hardware acceleration for animations.\n\n= It's not working! / I found a bug! =\n\nPlease let me know through [support](https://wordpress.org/support/plugin/off-canvas-sidebars) and add a plugins and themes list! :)  \nOr [submit an issue here on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/issues)\n\n= Credits =\n\n*\tSlidebars jQuery plugin by [Adam](https://www.adchsm.com/slidebars/ \"Adam\"), thank you for this great plugin!\n\n== Installation ==\n\nInstallation of this plugin works like any other plugin out there. Either:\n\n1. Upload the zip file to the '/wp-content/plugins/' directory\n2. Activate the plugin through the 'Plugins' menu in WordPress\n\nOr search for \"Off-Canvas Sidebars\" via your plugins menu.\n\n= Theme Setup =\n\nOff-Canvas Sidebars might not work \"out of the box\" with some themes, please read the documentation!\n[Click here for theme setup documentation.](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Theme-setup)\n\n== Frequently Asked Questions ==\n\n= 1. Will this plugin work with any theme? =\n\nNo, due to the difference in structure not all theme's are compatible.\nThough most themes can be *made* compatible with some modifications!\n\n= 2. Can I add as many sidebars as I like? =\n\nYes you can, keep in mind that the more sidebars you add the heavier the load on the server (PHP) and browser (JS) will be.\n\n= 3. How do I change the CSS for the sidebars? =\n\nThis plugin only provides the framework that handles the off-canvas part.\nThere are some settings that slightly change the display but this is very limited.\nFor more advanced customisations either:\n1. Edit your theme style.css file (usually located in `/wp-content/themes/YOURTHEME/`).\n2. Use a plugin such as [Simple Custom CSS](https://wordpress.org/plugins/simple-custom-css/).\n\n== Screenshots ==\n\n1. Settings page\n2. Sidebars settings page (sidebars closed)\n3. Sidebars settings page (sidebar opened)\n4. Shortcode generator page\n5. Control Widget\n6. Menu item\n7. Sidebar left (Push effect) -\u003e image from Slidebars website\n8. Sidebar left (Overlay effect) -\u003e image from Slidebars website\n9. Sidebar top (Push effect) -\u003e image from Slidebars website\n\n== Changelog ==\n\n= 0.5.8.2 =\n\n*\t**Hotfix:** Security fix (contributor+ users only).\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/119)\n\n= 0.5.8.1 =\n\n*\t**Fix:** Incomplete merge of JS code.\n*\t**Enhancement:** Link close option is now opt-in.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/117)\n\n= 0.5.8 =\n\n*\t**New:** Filter `ocs_enable_frontend`, modify enable frontend setting.\n*\t**New:** Filter `ocs_enable_assets`, can be used to disable frontend assets. [#114](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/114)\n*\t**New:** Filter `ocs_inline_styles`, modify the plugin inline styles.\n*\t**Enhancement:** Improve init handler for frontend.\n*\t**Enhancement:** Changed the default hooks for easier onboarding as the WP core hooks are now supported by most themes.\n*\t**Enhancement:** Improve adding inline styles.\n*\t**Enhancement:** Add `rel=\"nofollow\"` XFN attribute to link type element triggers. [#116](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/116)\n*\t**Fix:** JS multiple events as string param.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/111)\n\n= 0.5.7.1 =\n\n*\t**Fix:** Class concatenation bug. [#104](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/104) (Props: [Samuele Mancuso](https://github.com/AllWorkNoPlay-95))\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/108)\n\n= 0.5.7 =\n\n*\t**Enhancement:** Improved compatibility with the toolbar and fixed elements (legacy CSS mode).\n*\t**Enhancement:** Update to data attributes.\n*\t**Enhancement:** New filter `ocs_sidebar_attributes`.\n*\t**Enhancement:** New filter `ocs_sidebar_element`.\n*\t**Enhancement:** Added event action manager.\n*\t**Enhancement:** Do not add the same triggers again on reinit.\n*\t**Enhancement:** Load widget admin assets in site head instead of each widget separately.\n*\t**UI** Use WP meta box functions for setting pages to enhance UI compatibility.\n*\t**Fix:** Set slidebars script to plugin version to prevent browser cache issues.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/99)\n\n= 0.5.6 =\n\n*\t**Feature:** Overwrite hook priority within the plugin settings.\n*\t**Feature:** Basic theme hook setup validator. [#95](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/95)\n*\t**Enhancement:** Reorder settings page fields.\n*\t**Enhancement:** Improve Slidebars init and allow reinit.\n*\t**Enhancement:** Added `ocs_default_settings` and `ocs_default_sidebar_settings` filters.\n*\t**Fix:** Make sure sidebars correctly overwrite global settings. [#91](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/91)\n*\t**Fix:** Escape all translated strings for HTML.\n*\t**Fix:** Add `rel=\"noopener noreferrer\"` to all links that open in a new tab.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/92)\n\n= 0.5.5 =\n\n*\t**Compatibility**: Changed the CSS to be compatible with `position: sticky;` elements. [#83](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/83)\n*\t**Compatibility**: Fix default before and after widget args. Widget element changed to `\u003cdiv\u003e` instead of `\u003cli\u003e`. [#88](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/88)\n*\t**Enhancement**: Late init option. [#81](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/81)\n*\t**Enhancement**: Allow minimum value of 0 for numeric settings.\n*\t**Fix**: Gutenberg notice that OCS couldn't be initialized.\n*\t**UI**: Rename control elements to triggers (uniform names).\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/84)\n\n= 0.5.4 =\n\n*\t**Compatibility:** Support `wp_body_open` as `website_before` hook introduced in WordPress 5.2. [#70](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/70)\n*\t**Enhancement:** Allow Genesis Framework hooks to be overwritten in respect for `wp_body_open`.\n*\t**Enhancement:** Use CSS `vh` unit for canvas container min-height instead of JavaScript.\n*\t**Enhancement:** Better use of WP core UI elements.\n*\t**Enhancement:** Code quality improvements.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/71)\n\n= 0.5.3 =\n\n*\t**Enhancement:** Don't render triggers of disabled sidebars if auto-hide is enabled. [#56](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/56)\n*\t**Enhancement:** Support `wp_footer` as `website_after` hook. (Not compatible with all themes!)\n*\t**Enhancement:** Filters to overwrite `website_before` and `website_after` hook priorities.\n*\t**Enhancement:** Do not render inactive trigger buttons if auto-hide is enabled.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/58)\n\n= 0.5.2 =\n\n*\t**Feature:** New filter: `ocs_is_sidebar_enabled` to filter whether a sidebar should be rendered or not.\n*\t**Enhancement/Refactoring:** Class autoloader.\n\n= 0.5.1 =\n\n*\t**Fix:** Bug with creating sidebars on a new installation. [#52](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/52)\n*\t**Enhancement/Refactoring:** Control trigger rendering.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/53)\n\n= 0.5 =\n\n*\t**Feature:** Make closing the slidebar after clicking a link an option. [#47](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/47) \u0026 [#48](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/48)\n*\t**Feature:** Add icon options in control trigger API and shortcode.\n*\t**Feature:** Enhance widget UI with advanced options for control triggers. [#27](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/27)\n*\t**Enhancement:** Setting page JS and UI enhancements.\n*\t**Enhancement:** Use data attributes to conform [W3C HTML5 specifications](http://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes). [#50](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/50)\n*\t**Enhancement:** Add support links on plugins overview page.\n*\t**Refactoring:** Separate classes for tabs, page and settings/validation. Enhances plugin option validation. [#38](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/38)\n*\t**Refactoring:** Global OCS_DOMAIN constant.\n*\t**Updated/Added:** Screenshots.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/36)\n\n= 0.4.2 =\n\n*\t**Enhancement:** Keep scrollbar visible when scroll lock is active. [#44](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/44) \u0026 [PR #45](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/45)\n*\t**Enhancement:** (Slidebars library) Make sure that percentage based widths are rounded to actual pixels to prevent 1px differences on display.\n*\t**Fix:** PHP Notice on `fixed_elements` key.\n*\t**Compatibility:** Tested with WordPress 4.9\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/43)\n\n= 0.4.1 =\n\n*\t**Fix:** Loading the correct menu in an off-canvas sidebar was not working correctly. [#37](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/37)\n*\t**Fix:** Scroll lock feature with CSS instead of JavaScript. [#39](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/39)\n*\t**Enhancement:** Add active sidebar ID to the html element classes. [#41](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/41)\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/40)\n\n= 0.4 =\n\n*\t**Feature:** `[ocs_trigger]` shortcode to display trigger buttons/elements anywhere you like, [click here for documentation](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Shortcodes). [#24](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/24)\n\t*\tShortcode generator available in the settings page.\n\t*\tIntegrate a shortcode generator with the WP Editor. [#32](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/32)\n*\t**Enhancement:** New \"Legacy CSS\" mode. Modified the Slidebars library to support older CSS2 animations. Can fix a lot of issues with fixed elements. [#26](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/26)\n*\t**Compatibility:** Modified the default Slidebars CSS to support anchor links and common smooth scroll implementations.\n*\t**Compatibility:** Some enhancements for compatibility with the WP Admin Bar.\n*\t**UI:** Improve widget UI [#27](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/27)\n*\t**Fix:** Enhance the codebase to be more aligned with the WP coding standards with CodeClimate.\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/25)\n\n= 0.3.1.1 =\n\n*\t**Fix:** Settings page checkbox bug when saving\n\n= 0.3.1 =\n\n*\t**Feature:** Allow changing this plugin capability to show the settings page\n*\t**Fix:** Update fixed element compat for the new Slidebars version (still experimental, Slidebars still doesn't fully support fixed elements within the site container)\n*\t**Fix:** Don't echo empty sidebar CSS selectors if no styles are set\n*\t**UI:** Set `.ocs-button` to `cursor: pointer;` by default\n*\tUpdate textdomain hook\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/23)\n\n= 0.3 =\n\n*\t**Feature:** Allow sidebars to overwrite some general settings\n*\t**Feature:** Option to set padding to sidebars\n*\t**Feature:** Option to choose other content types than only a WP sidebar for an off-canvas sidebar\n*\t**Feature:** Option to set your own CSS prefix (some classes are fixes to `ocs` and can't be changed, the prefix `ocs` is also the default prefix for new installations)\n*\t**Feature:** Added various actions, filters and JS hooks - [Click here for info](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki)\n*\t**Feature:** OCS API functions to output off canvas sidebars in your theme instead of using this plugin frontend functions - [Click here for info](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/PHP-API)\n*\t**Fix:** Sidebar ID validation wasn't correct\n\nDetailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/10)\n\n= 0.2.2 =\n\n*\t**Feature:** Option to set the animation speed for sidebars\n*\t**Feature:** Option to use the FastClick library - [Click here for info](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/9 \"Click here for info\")\n*\t**Fix:** Disabling sidebars on global settings page didn't work\n\n= 0.2.1 =\n\n*\t**Fix:** Add touch events for iOS mobile device compatibility\n*\t**Enhancement:** Added some actions for front-end (see Other Notes)\n\n= 0.2.0.1 =\n\n*\t**Fix:** Global variable bug\n*\t**UI:** Improve settings page\n\n= 0.2 =\n\n*\tUpdate Slidebars plugin to v2.0.2: [click here for info](https://www.adchsm.com/slidebars/features/ \"Slidebars Features\")\n*\t**Feature:** An unlimited amount of off-canvas sidebars (No longer just one left, one right)\n*\t**Feature:** 2 new locations (top and bottom)\n*\t**Feature:** 2 new effects (reveal and shift)\n*\t**UI:** Improved settings pages\n*\t**I18n:** Translations are now managed at [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/off-canvas-sidebars \"translate.wordpress.org\")\n*\tScreenshots updated\n*\tTested with WordPress 4.6\n\n= 0.1.2 =\n\n*\t**Feature:** First experiment for compatibility with fixed elements within the site container with the use of `transform: translateZ` (needed for `-webkit-` and `-moz-` only). [See problem here](http://stackoverflow.com/questions/2637058/positions-fixed-doesnt-work-when-using-webkit-transform \"See problem here\")\n*\t**Improvement:** Usage of a single instance of the class\n\n= 0.1.1 =\n\n*\t**Feature:** Added the option to change the website_before and website_after hook names\n\n= 0.1 =\n\nCreated from nothingness just to be one of the cool kids. Yay!\n\n== Other Notes ==\n\n= You can find me here: =\n\n*\t[GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/ \"GitHub\")\n*\t[Keraweb](http://www.keraweb.nl/ \"Keraweb\")\n*\t[LinkedIn](https://nl.linkedin.com/in/joryhogeveen \"LinkedIn profile\")\n\n= Actions | Filters | API =\n\n*\t[See Wiki on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki)\n\n= Credits =\n\n*\tSlidebars jQuery plugin by [Adam](https://www.adchsm.com/slidebars/ \"Adam\"), thank you for this great plugin!\n\n= Ideas? =\n\nPlease let me know through the support page!\n\n== Upgrade Notice ==\n\n= 0.4 =\nVersion 0.4 introduces some radical code changes to the plugin. Please clear your cache after updating\n\n= 0.2 =\nVersion 0.2 introduces some radical code changes to the plugin. Please clear your cache after updating\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoryhogeveen%2Foff-canvas-sidebars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoryhogeveen%2Foff-canvas-sidebars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoryhogeveen%2Foff-canvas-sidebars/lists"}