/** * s2Member's Security Gate (protects WordPress content). * * @package s2Member\Security * @since 3.5 * * @attaches-to ``add_action("wp");`` * * @return null May redirect a browser *(exiting script execution)*, when/if content is NOT available to the current User/Member. */ public static function security_gate() { do_action("ws_plugin__s2member_before_security_gate", get_defined_vars()); if (is_category()) { // Categories & other inclusives. c_ws_plugin__s2member_catgs::check_catg_level_access(); } else { if (is_tag()) { // Post/Page Tags & other inclusives. c_ws_plugin__s2member_ptags::check_ptag_level_access(); } else { if (is_single()) { // All Posts & other inclusives. c_ws_plugin__s2member_posts::check_post_level_access(); } else { if (is_page()) { // All Pages & other inclusives. c_ws_plugin__s2member_pages::check_page_level_access(); } else { // Else, we simply look at URIs & other inclusives. c_ws_plugin__s2member_ruris::check_ruri_level_access(); } } } } do_action("ws_plugin__s2member_after_security_gate", get_defined_vars()); return; }