function hocwp_setup_theme_wp_hook() { if (is_404()) { $redirect_404 = (bool) hocwp_option_get_value('reading', 'redirect_404'); $post_type = hocwp_get_method_value('post_type', 'get'); $p = hocwp_get_method_value('p', 'get'); if ($redirect_404 || !empty($post_type) && hocwp_id_number_valid($p)) { hocwp_redirect_home(); } } else { if (is_singular()) { $post_status = get_post_status(); if ('future' == $post_status && !current_user_can('manage_options')) { hocwp_redirect_home(); } $trending = hocwp_theme_get_reading_options('trending'); if ((bool) $trending) { do_action('hocwp_add_trending_post', get_the_ID(), 'view'); } } if (is_user_logged_in()) { if (is_page_template('page-templates/register.php') || is_page_template('page-templates/login.php')) { wp_redirect(get_edit_profile_url()); exit; } } else { if (is_page_template('page-templates/register.php')) { if (hocwp_users_can_register()) { hocwp_execute_register(); } else { $page = hocwp_get_page_by_template('page-templates/login.php'); if (is_a($page, 'WP_Post')) { wp_redirect(get_permalink($page)); exit; } hocwp_redirect_home(); } } else { if (hocwp_is_login_page()) { $page = hocwp_get_pages_by_template('page-templates/login.php', array('output' => 'object')); if (is_a($page, 'WP_Post')) { wp_redirect(get_permalink($page)); exit; } } elseif (is_page_template('page-templates/favorite-posts.php')) { wp_redirect(wp_login_url()); exit; } } } } $enlarge_thumbnail = (bool) hocwp_theme_get_reading_options('enlarge_thumbnail'); if ($enlarge_thumbnail) { add_filter('hocwp_enlarge_post_thumbnail_on_mobile', '__return_true'); } $action = hocwp_get_method_value('action', 'get'); switch ($action) { case 'verify_subscription': $key = hocwp_get_method_value('key', 'get'); if (!empty($key)) { $args = array('post_type' => 'hocwp_subscriber', 'posts_per_page' => 1); $query = hocwp_get_post_by_meta('subscriber_active_key', $key, $args); if ($query->have_posts()) { $obj = array_shift($query->posts); update_post_meta($obj->ID, 'subscriber_verified', 1); $name = hocwp_get_post_meta('subscriber_name', $obj->ID); $email = hocwp_get_post_meta('subscriber_email', $obj->ID); $args = array('email' => $email, 'name' => $name); hocwp_add_to_newsletter_list($args); } else { hocwp_redirect_home(); } } break; } }
function hocwp_register_form($args = array()) { if (is_user_logged_in()) { return; } $defaults = hocwp_account_form_default_args(); $args = wp_parse_args($args, $defaults); $data = hocwp_execute_register(); $user_login = $data['user_login']; $user_email = $data['user_email']; $pwd = $data['pwd']; $pwd_again = $data['pwd_again']; $phone = $data['phone']; $error = $data['error']; $message = $data['message']; $inserted = $data['inserted']; $redirect_to = $data['redirect_to']; $logo = hocwp_get_value_by_key($args, 'logo', hocwp_get_login_logo_url()); ?> <div class="hocwp-login-box module"> <div class="module-header text-center"> <?php if (!empty($logo)) { $a = new HOCWP_HTML('a'); $a->set_href(home_url('/')); $a->set_class('logo'); $img = new HOCWP_HTML('img'); $img->set_image_alt(''); $img->set_image_src($logo); $a->set_text($img->build()); $a->output(); } $slogan = new HOCWP_HTML('p'); $slogan->set_class('slogan'); $slogan->set_text(sprintf($args['slogan'], hocwp_get_root_domain_name(home_url('/')))); $slogan->output(); if (isset($_REQUEST['error']) || $error) { $message = hocwp_build_message($message, 'danger'); echo $message; } elseif ($inserted || hocwp_id_number_valid($data['transient'])) { $message = hocwp_build_message($message, 'success'); echo $message; hocwp_auto_reload_script(); } ?> </div> <div class="module-body"> <h4 class="form-title"><?php _e('Registration', 'hocwp-theme'); ?> </h4> <form name="registerform register-form signup-form" id="registerform" action="" method="post" novalidate="novalidate"> <p> <label for="user_login"><?php echo hocwp_get_value_by_key($args, 'label_username', __('Username', 'hocwp-theme')); ?> <br/> <input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr(wp_unslash($user_login)); ?> " size="20"/></label> </p> <p> <label for="user_email"><?php echo $args['label_email']; ?> <br/> <input type="email" name="user_email" id="user_email" class="input" value="<?php echo esc_attr(wp_unslash($user_email)); ?> " size="25"/></label> </p> <p> <label for="user_pass"><?php echo hocwp_get_value_by_key($args, 'label_password', __('Password', 'hocwp-theme')); ?> <br/> <input type="password" name="pwd" id="user_pass" class="input" value="<?php echo $pwd; ?> " size="20"/></label> </p> <p> <label for="user_pass_again"><?php echo $args['label_confirm_password']; ?> <br/> <input type="password" name="pwd_again" id="user_pass_again" class="input" value="<?php echo $pwd_again; ?> " size="20"/></label> </p> <p> <label for="phone"><?php echo $args['label_phone']; ?> <br/> <input type="text" name="phone" id="phone" class="input" value="<?php echo $phone; ?> " size="20"/></label> </p> <?php do_action('register_form'); ?> <input type="hidden" name="action" value="register"> <input type="hidden" name="redirect_to" value="<?php echo esc_attr($redirect_to); ?> "/> <p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php echo $args['text_register_link']; ?> "/></p> </form> </div> <div class="module-footer"> <div class="text-center"> <p class="form-nav"> <a href="<?php echo esc_url(wp_login_url()); ?> "><?php echo hocwp_get_value_by_key($args, 'label_log_in', __('Login', 'hocwp-theme')); ?> </a> <span class="sep">|</span> <a href="<?php echo esc_url(wp_lostpassword_url()); ?> " title="<?php echo $args['title_lostpassword_link']; ?> "><?php echo $args['text_lostpassword_link']; ?> </a> </p> </div> </div> </div> <?php }