Paksa Pengunjung untuk Login/Registrasi di WordPress

Sunday 3 March 2019
Posted in: WebDev

Numpang dokumentasi, memaksa pengunjung situs berbasis WordPress untuk membuka halaman login web kita. Biasanya dipakai buat web yang memiliki content premium, dan mengharuskan pengunjung untuk melakukan registrasi terlebih dahulu.

Tambahkan script di bawah ke fungsi tema WordPress (function.php).

/* Start Force Login Function */
function v_getUrl() {
$url = isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ? 'https' : 'http';
$url .= '://' . $_SERVER['SERVER_NAME'];
$url .= in_array( $_SERVER['SERVER_PORT'], array('80', '443') ) ? '' : ':' . $_SERVER['SERVER_PORT'];
$url .= $_SERVER['REQUEST_URI'];
return $url;
}
function v_forcelogin() {
if( !is_user_logged_in() ) {
$url = v_getUrl();
$whitelist = apply_filters('v_forcelogin_whitelist', array());
$redirect_url = apply_filters('v_forcelogin_redirect', $url);
if( preg_replace('/\?.*/', '', $url) != preg_replace('/\?.*/', '', wp_login_url()) && !in_array($url, $whitelist) ) {
wp_safe_redirect( wp_login_url( $redirect_url ), 302 ); exit();
}
}
}
add_action('init', 'v_forcelogin');
/* End Force Login Function */

You might also enjoying this post.