- changed form labels and tooltips for clear description;

- fixed repeated queries for getting excluded post IDs;
This commit is contained in:
Nikita Sinelnikov
2021-07-27 13:07:30 +03:00
parent d459db7d6e
commit 070415bf31
4 changed files with 344 additions and 322 deletions
@@ -1,10 +1,12 @@
<?php
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) exit;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="um-admin-metabox">
<?php if ( ! empty( $object->ID ) ) {
<?php
if ( ! empty( $object->ID ) ) {
$data = get_post_meta( $object->ID, 'um_content_restriction', true );
} else {
$data = array();
@@ -48,94 +50,93 @@ if ( ! defined( 'ABSPATH' ) ) exit;
*/
$fields = apply_filters( 'um_admin_access_settings_fields', array(
array(
'id' => '_um_custom_access_settings',
'type' => 'checkbox',
'label' => __( 'Restrict access to this content?', 'ultimate-member' ),
'tooltip' => __( 'Activate content restriction for this post', 'ultimate-member' ),
'value' => ! empty( $data['_um_custom_access_settings'] ) ? $data['_um_custom_access_settings'] : 0,
'id' => '_um_custom_access_settings',
'type' => 'checkbox',
'label' => __( 'Restrict access to this post?', 'ultimate-member' ),
'tooltip' => __( 'Activate individual content restriction settings for this post. Then ignore all terms restriction content settings if they exists.', 'ultimate-member' ),
'value' => ! empty( $data['_um_custom_access_settings'] ) ? $data['_um_custom_access_settings'] : 0,
),
array(
'id' => '_um_accessible',
'type' => 'select',
'label' => __( 'Who can access this content?', 'ultimate-member' ),
'tooltip' => __( 'Activate content restriction for this post', 'ultimate-member' ),
'value' => ! empty( $data['_um_accessible'] ) ? $data['_um_accessible'] : 0,
'options' => array(
'id' => '_um_accessible',
'type' => 'select',
'label' => __( 'Who can access this post?', 'ultimate-member' ),
'value' => ! empty( $data['_um_accessible'] ) ? $data['_um_accessible'] : 0,
'options' => array(
'0' => __( 'Everyone', 'ultimate-member' ),
'1' => __( 'Logged out users', 'ultimate-member' ),
'2' => __( 'Logged in users', 'ultimate-member' ),
),
'conditional' => array( '_um_custom_access_settings', '=', '1' )
'conditional' => array( '_um_custom_access_settings', '=', '1' ),
),
array(
'id' => '_um_access_roles',
'type' => 'multi_checkbox',
'label' => __( 'Select which roles can access this content', 'ultimate-member' ),
'tooltip' => __( 'Activate content restriction for this post', 'ultimate-member' ),
'value' => $_um_access_roles_value,
'options' => UM()->roles()->get_roles( false ),
'columns' => 3,
'conditional' => array( '_um_accessible', '=', '2' )
'id' => '_um_access_roles',
'type' => 'multi_checkbox',
'label' => __( 'Select which roles can access this post', 'ultimate-member' ),
'tooltip' => __( 'Leave empty if you want to display a post for all logged in users', 'ultimate-member' ),
'value' => $_um_access_roles_value,
'options' => UM()->roles()->get_roles( false ),
'columns' => 3,
'conditional' => array( '_um_accessible', '=', '2' ),
),
array(
'id' => '_um_access_hide_from_queries',
'type' => 'checkbox',
'label' => __( 'Hide from queries', 'ultimate-member' ),
'tooltip' => __( 'Hide this content from archives, RSS feeds etc for users who do not have permission to view this content', 'ultimate-member' ),
'value' => ! empty( $data['_um_access_hide_from_queries'] ) ? $data['_um_access_hide_from_queries'] : '',
'conditional' => array( '_um_accessible', '!=', '0' )
'id' => '_um_access_hide_from_queries',
'type' => 'checkbox',
'label' => __( 'Would you like to exclude post from WP Query when users haven\'t access?', 'ultimate-member' ),
'tooltip' => __( 'Recommended to be enabled. Restricted post will be hidden by exclusion from WP Query. The safest and most effective method that hides post and its comments from all requests, RSS feeds, etc. on your site', 'ultimate-member' ),
'value' => ! empty( $data['_um_access_hide_from_queries'] ) ? $data['_um_access_hide_from_queries'] : '',
'conditional' => array( '_um_accessible', '!=', '0' ),
),
array(
'id' => '_um_noaccess_action',
'type' => 'select',
'label' => __( 'What happens when users without access tries to view the content?', 'ultimate-member' ),
'tooltip' => __( 'Action when users without access tries to view the content', 'ultimate-member' ),
'value' => ! empty( $data['_um_noaccess_action'] ) ? $data['_um_noaccess_action'] : 0,
'options' => array(
'id' => '_um_noaccess_action',
'type' => 'select',
'label' => __( 'What happens when users without access tries to view the post?', 'ultimate-member' ),
'tooltip' => __( 'Action when users without access tries to view the post', 'ultimate-member' ),
'value' => ! empty( $data['_um_noaccess_action'] ) ? $data['_um_noaccess_action'] : 0,
'options' => array(
'0' => __( 'Show access restricted message', 'ultimate-member' ),
'1' => __( 'Redirect user', 'ultimate-member' ),
),
'conditional' => array( '_um_access_hide_from_queries', '=', '0' )
'conditional' => array( '_um_access_hide_from_queries', '=', '0' ),
),
array(
'id' => '_um_restrict_by_custom_message',
'type' => 'select',
'label' => __( 'Would you like to use the global default message or apply a custom message to this content?', 'ultimate-member' ),
'tooltip' => __( 'Action when users without access tries to view the content', 'ultimate-member' ),
'value' => ! empty( $data['_um_restrict_by_custom_message'] ) ? $data['_um_restrict_by_custom_message'] : '0',
'options' => array(
'0' => __( 'Global default message (default)', 'ultimate-member' ),
'id' => '_um_restrict_by_custom_message',
'type' => 'select',
'label' => __( 'Would you like to use the global default message or apply a custom message to this content?', 'ultimate-member' ),
'tooltip' => __( 'Action when users without access tries to view the post', 'ultimate-member' ),
'value' => ! empty( $data['_um_restrict_by_custom_message'] ) ? $data['_um_restrict_by_custom_message'] : '0',
'options' => array(
'0' => __( 'Global default message', 'ultimate-member' ),
'1' => __( 'Custom message', 'ultimate-member' ),
),
'conditional' => array( '_um_noaccess_action', '=', '0' )
'conditional' => array( '_um_noaccess_action', '=', '0' ),
),
array(
'id' => '_um_restrict_custom_message',
'type' => 'wp_editor',
'label' => __( 'Custom Restrict Content message', 'ultimate-member' ),
'tooltip' => __( 'Changed global restrict message', 'ultimate-member' ),
'value' => ! empty( $data['_um_restrict_custom_message'] ) ? $data['_um_restrict_custom_message'] : '',
'conditional' => array( '_um_restrict_by_custom_message', '=', '1' )
'id' => '_um_restrict_custom_message',
'type' => 'wp_editor',
'label' => __( 'Custom Restrict Content message', 'ultimate-member' ),
'tooltip' => __( 'You may replace global restrict message here', 'ultimate-member' ),
'value' => ! empty( $data['_um_restrict_custom_message'] ) ? $data['_um_restrict_custom_message'] : '',
'conditional' => array( '_um_restrict_by_custom_message', '=', '1' ),
),
array(
'id' => '_um_access_redirect',
'type' => 'select',
'label' => __( 'Where should users be redirected to?', 'ultimate-member' ),
'tooltip' => __( 'Select redirect to page when user hasn\'t access to content', 'ultimate-member' ),
'value' => ! empty( $data['_um_access_redirect'] ) ? $data['_um_access_redirect'] : '0',
'conditional' => array( '_um_noaccess_action', '=', '1' ),
'options' => array(
'id' => '_um_access_redirect',
'type' => 'select',
'label' => __( 'Where should users be redirected to?', 'ultimate-member' ),
'tooltip' => __( 'Select redirect to page when user hasn\'t access to post', 'ultimate-member' ),
'value' => ! empty( $data['_um_access_redirect'] ) ? $data['_um_access_redirect'] : '0',
'options' => array(
'0' => __( 'Login page', 'ultimate-member' ),
'1' => __( 'Custom URL', 'ultimate-member' ),
),
'conditional' => array( '_um_noaccess_action', '=', '1' ),
),
array(
'id' => '_um_access_redirect_url',
'type' => 'text',
'label' => __( 'Redirect URL', 'ultimate-member' ),
'tooltip' => __( 'Changed global restrict message', 'ultimate-member' ),
'value' => ! empty( $data['_um_access_redirect_url'] ) ? $data['_um_access_redirect_url'] : '',
'conditional' => array( '_um_access_redirect', '=', '1' )
'id' => '_um_access_redirect_url',
'type' => 'text',
'label' => __( 'Redirect URL', 'ultimate-member' ),
'tooltip' => __( 'Set full URL where do you want to redirect the user', 'ultimate-member' ),
'value' => ! empty( $data['_um_access_redirect_url'] ) ? $data['_um_access_redirect_url'] : '',
'conditional' => array( '_um_access_redirect', '=', '1' ),
),
), $data, $object, $post_type_object );
@@ -151,10 +152,13 @@ if ( ! defined( 'ABSPATH' ) ) exit;
// );
// }
UM()->admin_forms( array(
'class' => 'um-restrict-content um-third-column',
'prefix_id' => 'um_content_restriction',
'fields' => $fields
) )->render_form(); ?>
UM()->admin_forms(
array(
'class' => 'um-restrict-content um-third-column',
'prefix_id' => 'um_content_restriction',
'fields' => $fields,
)
)->render_form();
?>
</div>