Responsive Navigation Block
This Plugin allows you to display and apply alternative styling to different navigation menus based on the screen size using the WordPress Navigation block. Video Walkthrough Features Two new Navigation Block (variations) for: Mobile Desktop Style your menu differently depending on screen size. Use a different menu for each screen size. Customize the “breakpoint” (where you switch between mobile and desktop). Automatically switch editor to “mobile” preview when editing the mobile navigation. Usage This Plugin creates two block variations from the Navigation block which will be automatically hidden/shown at the configured screensize (breakpoint): Navigation (Mobile) – will be displayed only on smaller screen sizes. Navigation (Desktop) – will be displayed only on larger screen sizes. This affords the ability to independently style mobile vs desktop navigation and even allows for completely different menus to be used. The Plugin should be used as follows: Install and Activate the plugin – two new block variations will be automatically registered for “Mobile” and “Desktop”. Go to the Editor and remove any existing Navigation block. Add the “Desktop Navigation” block – style and configure the menu for “desktop” as required. Add the “Mobile Navigation” block – style and configure the menu for “mobile” as required. View the front of your website and resize your browser to see the navigations swap out at the appropriate breakpoint/screensize. Alternatively you can transform the default Navigation block to either Mobile or Desktop variations via the block’s interface. Support Please see FAQs. If you still have an issue please: check Github for existing Issue reports. (if none) then file a new Issue on Github Privacy Statement Responsive Navigation does not: use cookies. send data to any third party. include any third party resources. Contributing Contributions to this Plugin are welcome. Please fork the Github repository and submit a PR for review. Development Setup This Plugin uses the @wordpress/scripts package. Check out the Github repo into the wp-content/plugins directory of a WordPress installation. cd into the Plugin’s directory install the dependencies with npm i. Running npm start will start the @wordpress/scripts package in watch mode ready to compile the JavaScript on modification. PHP files can be edited in the usual manner. Testing The Plugin has e2e test coverage for the key features courtesey of @wordpress/scripts and Playwright. To run the tests – in your terminal of choice: npm run build. npm run wp-env start. Run the tests: npm run test:e2e Releasing Releasing the Plugin to the WordPress.org Plugin repo is the prerogative of the Plugin owner (@get_dave). The process is as follows: Test the Plugin Commit all changes to trunk branch. Push changes to trunk (only) – git push origin trunk. In Github: Actions Select the Build Release Zip action. Select the Run workflow dropdown and run the workflow to generate a zip file. When action completes download the generated Plugin zip artifact. Manually install and test the .zip. Deploy to WP.org When ready to deploy. Bump Plugin version and tag release – npm run bump-version. Push trunk and tags – git push origin trunk --tags Deployment to WP.org will be handled automatically.
Top keywords
- navigation13×2.51%
- block10×1.93%
- mobile10×1.93%
- desktop8×1.55%
- run8×1.55%
- navigation block7×1.35%
- npm6×1.16%
- wordpress6×1.16%
- github5×0.97%
- screen5×0.97%
- trunk5×0.97%
- automatically4×0.77%
Lightweight Accordion
Lightweight Accordion plugin for WordPress allows you to add collapse elements to posts using a Gutenberg block or a shortcode (via classic editor). By using the details HTML tag and a few lines of CSS this allows for a javascript-free accordion for minimum page load. Extremely Lightweight (<1kb): Without using Javascript the plugin uses the native details HTML tag and a few lines of code for almost no impact on front-end. Customizable: Options include customizing the HTML tag used for the accordion title, open by default, borders, colors, and accordion grouping (auto-close others when one opens). Shortcode Usage examples Here are a few examples of using the accordion plugin with shortcodes. [lightweight-accordion title="My Accordion"]My Content[/lightweight-accordion] Additionally you can display the accordion open on load with the accordion_open option. [lightweight-accordion title="My Accordion" accordion_open=true]My Content[/lightweight-accordion] You can also change the html tag wrapping the title of the accordion using the title_tag option. [lightweight-accordion title="My Accordion" title_tag="h3"]My Content[/lightweight-accordion] If you want to include FAQ schema you can add the schema option and set it to faq. [lightweight-accordion title="What is your return policy?" schema="faq"]You have 1 week to return your items[/lightweight-accordion] If you’d like put a border around the content of the accordion you can use the “bordered” attribute. [lightweight-accordion title="Bordered Content" bordered=true]My Content[/lightweight-accordion] If you want accordions to auto-close when another opens (exclusive accordion), use the “group” attribute with the same value on each accordion. [lightweight-accordion title="Question 1" group="faq"]Answer 1[/lightweight-accordion] [lightweight-accordion title="Question 2" group="faq"]Answer 2[/lightweight-accordion] [lightweight-accordion title="Question 3" group="faq"]Answer 3[/lightweight-accordion] If you’d like to swap the default triangle marker for a chevron or plus/minus icon (optionally on the right side of the title) use the “icon” and “icon_position” attributes. [lightweight-accordion title="My Accordion" icon="chevron" icon_position="right"]My Content[/lightweight-accordion] Shortcode Options Here is the full listing of shortcode options. Additionally all of these options are accessible when using the Gutenberg block. title (Required Default: null) The title of your accordion will be displayed at the top for users to click. A good example would be to include a user’s question so they could click it for more details. content (Required Default: null) Content that will go into your accordion element. title_tag (Default: “span”) This sets the html tag that wraps the title in the accordion summary. Useful if you want to make it a heading tag for SEO purposes. accordion_open (Default: false) Set this to true if you want your accordion to be open by default. bordered (Default: false) Set this to true if you want a border around the accordion content. title_text_color (Default: false) Set this to a hex value or CSS color to change the color of the accordion title text. title_background_color (Default: false) Set this to a hex value or CSS color to change the color of the accordion title text. schema (Default: false) Set this to faq if you’d like FAQ schema to be included. class (Default: false) Used to add a custom class to the parent container of the accordion. anchor (Default: null) Adds the value as an ID to the accordion div as an anchor. autop (Default: true) By default the shortcode will wrap text in a ‘p’ tag. Set this to false if you’d like this disabled for the specific accordion. group (Default: false) Set this to a group name to make accordions with the same group auto-close when another opens. Uses the native HTML details name attribute for zero JavaScript overhead. icon (Default: false) Set this to “chevron”, “plus”, or “none” to replace the default triangle marker. The chevron rotates and the plus becomes a minus when the accordion opens. icon_position (Default: false) Set this to “right” to display the chevron or plus icon on the right side of the accordion title. Additional Details If you’d like to remove the “lightweight-accordion.css” from being enqueued on your site use the filter below. It’s recommend you style the accordion yourself if you use this filter. add_filter('lightweight_accordion_include_frontend_stylesheet', '__return_false' ); If you’d like to remove the “lightweight-accordion/editor-styles.css” from being enqueued in the admin area of your site you can use the filter below. add_filter('lightweight_accordion_include_admin_stylesheet', '__return_false' ); If you’d like to remove processing of shortcodes in accordion content you can use this filter. add_filter('lightweight_accordion_process_shortcodes', '__return_false' ); If you’d like to use inline Microdata for FAQ schema you can use this filter. (Not recommended) add_filter('lightweight_accordion_output_microdata', '__return_true' ); If you’d like to force “lightweight-accordion.css” to load on all of your site you can use this filter. By default the plugin will detect if the block or shortcode is used and enqueue the CSS. add_filter('lightweight_accordion_always_include_frontend_stylesheet', '__return_true' ); When a page contains an accordion a tiny inline script is added to the footer that automatically opens accordions targeted by a URL hash (for example a link to an accordion’s anchor). If you’d like to disable this you can use the filter below. add_filter('lightweight_accordion_anchor_script', '__return_false' );