Tworzę witrynę, którą chciałbym uczynić prywatną. Najważniejszą częścią jest to, że obrazy w domenie nie mogą być widoczne bez zalogowania się przez użytkownika w pierwszej kolejności. Chciałbym więc cały ruch zostanie przekierowany do www.DOMAINNAME.com/wp-admin (także dla obrazów), jeśli użytkownik nie jest zalogowanyTwórz obrazy prywatne w Wordpress
Oto co próbowałem.
1) Wtyczki. Próbowałem zarówno Wordpress Force Login, wtyczki wp-require-login i Coming soon page and Maintenance mode.
2) Dodawanie funkcji z this answer. Który brzmi:
function is_login_page() {
return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
function wpse_make_blog_private() {
if (! is_user_logged_in() && ! is_admin() && ! is_login_page()) {
global $wp_query;
$wp_query->set_404();
}
}
add_action('wp', 'wpse_make_blog_private');
dla tych rzeczy przekierowuje ruch, jeśli pójdę do bezpośredniego adresu URL do obrazu (takich jak http://www.DOMAINNAME.com/uploads/2015/10/foobar.jpg).
Czy to można zrobić?
----------------- EDIT 1 --------------
Mevius wskazał, że może nie być Wordpress załadowany, jeśli wpiszesz bezpośredni URL do obrazu, więc sugeruje, że powinno to być zrobione na poziomie apache.
------------- KONIEC EDIT 1 -----------
Nie wierzę, że WordPress jest nawet załadowany, jeśli masz bezpośredni dostęp do obrazu (tak jak w przypadku bezpośredniej nawigacji do dowolnego innego zasobu statycznego na serwerze). Być może będziesz musiał to zrobić na poziomie Apache'a – rnevius
Hmm ... To dobrze. Czy to oznacza dodanie go do pliku htaccess, prawda? Po prostu dodam ten tag na ten temat. – Zeth