Skip to content

code4recovery/12-step-meeting-list

Repository files navigation

12 Step Meeting List

This plugin is designed to help recovery programs (AA, NA, Al-Anon, etc) list their meetings. It standardizes addresses, and displays in a list or map.

The best way to install this plugin is via its home page in the WordPress Plugin Directory.

Support

Have a question? Check out our Frequently Asked Questions.

Need help? Please open a new discussion.

How can I report security bugs?

To report a security issue, please use the Security Tab, located under the repository name. If you cannot see the "Security" tab, select the ... dropdown menu, and then click Security. Please include as much information as possible, including steps to help our team recreate the issue.

Helping with Development

Do you want to help develop the plugin? We welcome new members! Please find out more at code4recovery.org.

Coding Suggestions

These help improve code readability and maintainability:

  • Use extensions like DevSense and Prettier to format code on save
  • Use the Query Monitor WordPress plugin locally to detect and fix any PHP warnings
  • All constants, global functions, and global variables should have a name starting with tsml_
  • Functions ought to be useful in multiple places (except functions that are available to end users such as tsml_custom_types)
  • Use anonymous functions when possible (we are PHP 5.6+)
  • Use bracket syntax for arrays (we are PHP 5.6+)
  • We are PSR-12 compliant

Also some best practices:

  • Don't leave code commented out (if it's needed later we can find it in the git history)
  • Don't put database updates or other expensive operations inside a repeat loop
  • No unused variables
  • Filter inputs

Compiling Assets

If you're making changes to JavaScript or CSS, you will want to install SASS and webpack one time by running npm i. Then, while developing, run npx mix watch to compile assets as you make changes. When you are ready to make a pull request, run npx mix --production.

Rebuilding the POT file

To support other languages, the plugin wraps output language with:

echo __('English message', '12-step-meeting-list')

To update the ./languages/12-step-meeting-list.pot file, install WP Cli and run:

wp i18n make-pot . ./languages/12-step-meeting-list.pot --exclude=assets/