Code

WordPress Posts & WooCommerce Products Scheduler / Restrict Access

WordPress Posts & WooCommerce Products Scheduler / Restrict Access

Cart 173 sales

The WordPress Posts & WooCommerce Products Restrict Access / Scheduler (WPPS) plugin is a powerful tool by which the Site admin can schedule or restrict access to posts, custom posts (like WordPress pages, bbpress posts, or any other 3rd party custom posts ), and product visibility by “date rules” and for user roles. WooCommerce products can also be set as “Unpurchasable” (visible but cannot be added to the cart).

LIVE DEMO

https://www.codecanyondemo.work/wpps/wp-admin
(Shop admin user role) user: demo
pass: demo

(Customer role) user: demo2
pass: demo

HOW IT WORKS

It’s very easy, once installed and activated, the site admin will find a new “Scheduler” menu voice on the main menu by which he can access the Scheduling rules configurator. With this menu, the shop admin can set up scheduling rules to automatically publish/unpublish posts, custom posts (like WordPress pages, bbpress posts, or any other 3rd party custom posts), and products. He can also simply restrict access to contents by user roles. In case you are restricting posts/pages by user role, you can also choose to redirect to a page.

NOTE: To restrict access to not logged users you have just to select at least one role in the user role selection section.

SET PRODUCT AS UNPURCHASABLE

Feature not compatible with Measurement Price Calculator
Shop admin, for WooCommerce products, can use the special Unpurchasable option. Enabling this and setting visibility status to Visible the selected product will be visible but cannot be added to the cart by the customers (or the ones belonging to the roles chosen on the roles restriction option area) due to the “add to cart” button removal.
After and before the Unpurchasable period the shop admin can choose if the product has to be set as Purchasable or Unpublished.

During the Unpurchasable period can be also optionally displayed two different messages on product and shop pages.

Note: Make sure that the theme you are using is correctly using the woocommerce_after_single_product, woocommerce_loop_add_to_cart_link and woocommerce_single_product_summary actions in the shop and single product page (as the woocommerce reference templates do) otherwise the plugin cannot hook properly to the theme to remove the add to cart button. All well-designed themes correctly use these actions.

Note: In case the WooCommerce Availability Scheduler plugin is active, the unpurchasable feature won’t work.

SCHEDULING/RESTRICT ACCESS RULES

The site admin can assign to a set of posts/products (directly selecting them or a set of categories) multiple scheduling rule. Each scheduling rule has the following option:
  1. Rule name/id
  2. Item type (WordPress post or WooCommerce product)
  3. Item(s) selection
  4. Category(es) selection
  5. Assignment strategy (the rule can be assigned to the selected items/categories or to all items except the ones selected)
  6. “Children” categories (if a category was selected, that rule can be assigned also to its children)
  7. Scheduling dates (for every scheduled time period is also possible to restrict visibility by user roles)

Scheduling dates

For each scheduling rule, the site admin can create different scheduling dates (configuring day(s), month(s), hour, ...) for each of which different statuses (published or unpublished) can be assigned. Here two examples of what can be done:

Example 1 (WooCommerce Products)

The shop admin would like to make a product(s) to be published every day of the year only between 09:00 to 18:00 and unpublished in the remaining hours and on 25th December.
The Scheduling rules will be configured as follows:
  1. Create a new rule and assign a name/id
  2. Select “WooCommerce product” item type
  3. Select an item(s) and/or category(ies)
  4. Create a new date rule where:
    1. https: Published
    2. User roles: Leave unselected
    3. Start date type: Day of the week
    4. Days of the week: Select all
    5. Months: Select all
    6. Hour: 9
    7. Minute: 0
    8. Invert item(s) HTTPS during unmatched time period: yes
    9. End hour: 17
    10. End minute: 59
  5. Create a new date rule where:
    1. https: Unpublished
    2. User roles: Leave unselected
    3. Start date type: Day of the month
    4. Days of the month: Select 25
    5. Months: Select “December”
    6. Hour: 9
    7. Minute: 0

Example 2 (WordPress Posts)

The site admin would like to make a post available only on the even days of the week and unavailable on the remaining days. The Scheduling rules will be configured as follows:
  1. Create a new rule and assign a name/id
  2. Select “WordPress post” item type, item(s) and or category
  3. Select an item(s) and/or category(ies)
  4. Create a new date rule where:
    1. https: Published
    2. User roles: Leave unselected
    3. Day date type: Day of the week
    4. Days of the week: Tuesday, Thursday, Saturday
    5. Months: Select all
    6. Hour: 0
    7. Minute: 0
  5. Create a new date rule where:
    1. https: Unpublished
    2. User roles: Leave unselected
    3. Start date type: Day of the week
    4. Days of the week: Monday, Wednesday, Friday, Sunday
    5. Months: Select all
    6. Hour: 0
    7. Minute: 1

Example 3 (Restrict pages access to non-logged users)

The site admin would like to restrict access to some pages for not logged users, for example, the Shop, cart, and checkout pages. Here is how to:
  1. Create a new rule and assign a name/id
  2. Select the “Custom posts” item type and the select “Shop”, “Cart, and “Checkout” pages.
  3. Create a new date rule where:
    1. https: Published
    2. User roles: Select all
    3. Day date type: Day of the week
    4. Days of the week: Select all
    5. Months: Select all
    6. Hour: 0
    7. Minute: 0
  4. Create a new date rule where:
    1. https: Published
    2. User roles: Select all
    3. Start date type: Day of the week
    4. Days of the week: Select all
    5. Months: Select all
    6. Hour: 23
    7. Minute: 59

POSTS/PRODUCTS LIST PAGE

Another useful feature added by the WPPS plugin is a new column named “Scheduling rule(s)” On the WordPress Posts and WooCommerce Products list page. In this way, the site admin can always know if a scheduling rule has been assigned to one (or more) post(s)/product(s)

SCREENSHOTS





Scheduling date: day selection (days of the week option selected)
Scheduling date: day selection (days of the month option selected)
Scheduling rule(s) on posts/products list page

CHANGE LOG


= 5.5 - 19.07.23 =
* Improved compatibility with Flatsome Theme

= 5.4 - 02.04.21 =
* Minor improvements

= 5.3 - 30.11.19 =
* In the product/post selector now it is also reported the ID

= 5.2 - 25.11.19 =
* Typo

= 5.1 - 24.11.19 =
* Internal library update

= 5.0 - 28.03.19 =
* Fixed an issue related to wrong priority computation

= 4.9 - 27.03.19 =
* Fixed an issue due to the scheduler not properly applying the "invert publish status" feature

= 4.8 - 07.12.18 =
* Minor bugfix related to WP 5.0

= 4.7 - 30.10.18 =
* Fixed an issue with add to cart button

= 4.6 - 29.10.18 =
* Minor bugfix

= 4.5 - 06.09.18 =
* Minor bugfix

= 4.4 - 07.05.18 =
* Fixed an issue due to scheduling rules where applied 1 minute after the start time

= 4.3 - 23.02.18 =
* Minor bugfix

= 4.2 - 28.07.17 =
* Minor bugfix

= 4.1 - 01.06.17 =
* Minor bugfix

= 4.0  - 30.05.17 =
* Fixed an issue that in some cases may prevent the "add new rule" button from properly work

= 3.9  - 15.05.17 =
* Fixed an issue with composite products

= 3.8  - 17.04.17 =
* Fixed an incompatibility with Avada
* Fixed an issue with composite products

= 3.7  - 07.04.17 =
* Improved compatibility with WooCommerce 3.0.1

= 3.6  - 04.03.17 =
* Issue due to published date for the scheduled product was always the today date

= 3.5  - 21.02.17 =
* Added support to upcoming WooCommerce 2.7

= 3.4  - 30.01.17 =
* Added option to show messages during the unpurchasable periods on product and shop pages
* Fixed an issue that prevents the "except the one selected" option from properly work

= 3.3  - 25.01.17 =
* Fixed an issue with the purchasable/unpurchasable feature

= 3.2  - 22.12.16 =
* Bugfix

= 3.1  - 05.12.16 =
* On item publishing, its publish date is updated according to the scheduling rule start time

= 3.0  - 01.12.16 =
* Added a new feature to schedule posts according to the week of the year 

= 2.9  - 30.11.16 =
* Fixed an issue that may raise an error on frontend when WooCommerce was not installed

= 2.8  - 11.11.16 =
* Minor bugfix 

= 2.7  - 03.10.16 =
* Added option to redirect to a page in case of user role restriction 

= 2.6  - 24.09.16 =
* Minor bugfix 

= 2.5  - 17.08.16 =
* Minor bugfix 

= 2.4  - 16.08.16 =
* Added feature to set scheduling date starting from publish date

= 2.3  - 27.07.16 =
* Minor bugfix 

= 2.2  - 24.04.16 =
* Minor bugfix 

= 2.1  - 15.06.16 =
* Added support to custom posts

= 2.0  - 23.04.16 =
* Minor bugfix 

= 1.9  - 14.04.16 =
* Minor bugfix 

= 1.8 - 23/03/16 =
* Minor bugfix

= 1.7 - 22/03/16 =
* Added new feature to make WooCommerce products as unpurchasable

= 1.6 - 11/03/16 =
* Minor bugfix

= 1.5 - 20/02/16 =
* Fixed an issue that could cause some Warnings messages

= 1.4 - 16/02/16 =
* Added new feature: is now possible restrict post visibility using user roles

= 1.3 - 02/02/16 =
* Bugfix

= 1.2 - 15/01/16 =
* Bugfix

= 1.1 - 13/01/16 =
* Bugfix

= 1.0 - 12/01/16 =
* Release

by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey