How to give members access to their own protected page?

funtion add_profile_page(){ $title_of_page = “page name”; if( null == get_page_by_title( $title_of_page ) ) { $post_id = wp_insert_post( array( ‘comment_status’ => ‘closed’, ‘ping_status’ => ‘closed’, ‘post_author’ => ‘1’, ‘post_name’ => ‘namehere’, ‘post_title’ => $title_of_page, ‘post_status’ => ‘publish’, ‘post_type’ => ‘page’ ) ); update_post_meta($post_id, ‘_wp_page_template’, ‘mycustomprofile’); } } add_filter( ‘after_setup_theme’, ‘add_profile_page’ ); your template page /* Template … Read more

WordPress Shop and restricting products and categories for some users/groups

Essentially, you need: A global role-category relationship list, and/or… A per-user category list For per-user categories, hook onto the relevant profile actions: show_user_profile & edit_user_profile for displaying the field (use wp_terms_checklist()) personal_options_update & edit_user_profile_update for saving the data For the role-category data, use an options page. Loop over all roles ($wp_roles->roles) with a term checklist … Read more

Member Site – Always Sends Me Back To Login

You are using an undefined variable in your code ($padeid), it can be causing you problems. Try this code instead: add_action(‘template_redirect’,’wpse16975_check_if_logged_in’); function wpse16975_check_if_logged_in(){ global $wp; if( ! is_user_logged_in() ) { $url = wp_login_url( site_url( add_query_arg( array(), $wp->request ) ) ); wp_redirect( $url ); exit; } }

Restrict content even to specific user

You´ll need to save some metadata for the user, possibly in two fields, like member_from and member_until which will hold your issue numbers. In your “issue view”, check whether the current issues number is between the values of those fields. If that´s the case allow access, otherwise show some “meh, no access” or “buy access” … Read more

Using a page-template to restrict access based on IP (Frontend)

Now I have it working! In the meanwhile Jeff Cohan also gave the right advice on how to do it (see his comment on the question). Here’s my full code, working the way he suggested: function getUserIP() { $client = @$_SERVER[‘HTTP_CLIENT_IP’]; $forward = @$_SERVER[‘HTTP_X_FORWARDED_FOR’]; $remote = $_SERVER[‘REMOTE_ADDR’]; if (filter_var($client, FILTER_VALIDATE_IP)) {$ip=$client;} elseif (filter_var($forward, FILTER_VALIDATE_IP)) {$ip=$forward;} … Read more