index of
/
home
/
thefkyzp
/
public_html
/
wp-content
/
plugins
/
forminator
/
library
/
lib
/
free-notices
/
File: /home/thefkyzp/public_html/wp-content/plugins/forminator/library/lib/free-notices/README.md
# WDEV Free Notices Module # WPMU DEV Free Notices module (short wpmu-free-notices) is used in our free plugins hosted on wordpress.org It will display, * A welcome message upon plugin activation that offers the user a 5-day introduction email course for the plugin. * After 7 days a message asking the user to rate the plugin on wordpress.org. * After 2 days a giveaway notice asking for email subscription. # How to use it # 1. Insert this repository as **sub-module** into the existing project 2. Include the file `module.php` in your main plugin file. 3. Call the action `wpmudev_register_notices` with the params mentioned below. 4. Done! # Upgrading to v2.0 The 2.0 release is backward incompatible with the 1.x versions. To accommodate new functionality and fix WordPress coding standards violations, a lot of the hooks/filters have been refactored. Make sure to change the following: 1. Update the `do_action` hook name from `wdev-register-plugin` to `wpmudev_register_notices`. 2. Update the params to new format (See example below). 3. Both `wdev-email-message-` and `wdev-rating-message-` filters have been changed to `wdev_email_title_`/`wdev_email_message_` and `wdev_rating_title_`/`wdev_rating_message_` ## IMPORTANT: DO NOT include this submodule in Pro plugins. These notices are only for wp.org versions. ## Code Example : Registering a plugin (from Smush) ## ``` #!php <?php add_action( 'admin_init', 'mycustom_free_notices_init' ); function mycustom_free_notices_init() { // Load the notices module. include_once 'external/free-notices/module.php'; // Register the current plugin for notices. do_action( 'wpmudev_register_notices', 'smush', // Required: plugin id. Get from the below list. array( 'basename' => WP_SMUSH_BASENAME, // Required: Plugin basename (for backward compat). 'title' => 'Smush', // Plugin title. 'wp_slug' => 'wp-smushit', // Plugin slug on wp.org 'cta_email' => __( 'Get Fast!', 'ga_trans' ), // Email button CTA. 'installed_on' => time(), // Plugin installed time (timestamp). Default to current time. 'screens' => array( // Screen IDs of plugin pages. 'toplevel_page_smush', 'smush_page_smush-bulk', 'smush_page_smush-directory', ), ) ); } ``` > IMPORTANT: Make sure to initialize this on a hook which is executed in admin-ajax requests too. The recommended hook is `admin_init` ## Plugins and IDs Only wp.org plugins are listed below. | Plugin | ID | |-------------|-------------| | Smush | smush | | Hummingbird | hummingbird | | Defender | defender | | SmartCrawl | smartcrawl | | Forminator | forminator | | Hustle | hustle | | Snapshot | snapshot | | Branda | branda | | Beehive | beehive | ## Testing Notices To see the notices before the due time, you can fake the current time by appending `&wpmudev_notice_time=CUSTOMTIMESTAMP` to the url on a page where the notice should be visible. Please make sure you are using a timestamp after the due time. ## Optional: Customize the notices via filters ## ``` <?php // The email message contains 1 variable: plugin-name add_filter( 'wdev_email_message_smush', // change plugin id. 'custom_email_message' ); function custom_email_message( $message ) { $message = 'You installed %s! This is a custom <u>email message</u>'; return $message; } ``` ``` <?php // The rating message contains 2 variables: user-name, plugin-name add_filter( 'wdev_rating_message_smush', // Change plugin id. 'custom_rating_message' ); function custom_rating_message( $message ) { $message = 'Hi %s, you used %s for a while now! This is a custom <u>rating message</u>'; return $message; } ``` ``` <?php // To disable or enable a notice type. add_filter( 'wpmudev_notices_is_disabled', 'custom_rating_message', 10, 2 ); function disable_rating_message( $disabled, $type, $plugin ) { if ( 'rate' === $type && 'beehive' === $plugin ) { return true; } return $disabled; } ``` # Development Do not commit anything directly to `master` branch. The `master` branch should always be production ready. All plugins will be using it as a submodule. ## Build Tasks (npm) Everything should be handled by npm. Note that you don't need to interact with Gulp in a direct way. | Command | Action | |----------------------|--------------------------------------------------------| | `npm run watch` | Compiles and watch for changes. | | `npm run compile` | Compile production ready assets. | | `npm run build` | Build production ready submodule inside `/build/` folder | ## Git Workflow - Create a new branch from `dev` branch: `git checkout -b branch-name`. Try to give it a descriptive name. For example: - `release/X.X.X` for next releases - `new/some-feature` for new features - `enhance/some-enhancement` for enhancements - `fix/some-bug` for bug fixing - Make your commits and push the new branch: `git push -u origin branch-name` - File the new Pull Request against `dev` branch - Assign somebody to review your code. - Once the PR is approved and finished, merge it in `dev` branch. - Checkout `dev` branch. - Run `npm run build` and copy all files and folders from the `build` folder. - Checkout `master` branch and replace all files and folders with copied content from the build folder. - Commit and push the `master` branch changes. - Inform all devs to update the submodule.