Как замаскировать внешние ссылки для скачивания как внутренние ссылки и быть доступными только зарегистрированным пользователям? И даже зарегистрированные пользователи не должны видеть домен внешнего сайта загрузки, если они вошли в систему и просмотрели сообщения. Это должно быть замаскировано для всех. Кроме того, им не следует получать доступ к URL-адресу загрузки, если они копируют / вставляют URL-адрес в свой браузер, если они не вошли на сайт WordPress.
Как пример прямой ссылки для скачивания здесь: www.externallink.com/direct-download-link1
Мы хотим замаскировать его как наш внутренний URL: www.ourwebsiteurl.com/direct-download-link1
и эта ссылка должна быть доступна только зарегистрированным пользователям.
Как это сделать?
Мы попробовали приведенные ниже коды внутри functions.php и одного post.php. Но ничего не произошло, ничего не изменилось. У нас есть полный контроль над внешней ссылкой для скачивания. И это скрипт на основе Perl, который генерирует различные ссылки для скачивания.
$user = wp_get_current_user();
if( $user->exists ) {
add_filter( 'public_link_root', function() { return 'example.com'; } );
}
$some_link = apply_filters('public_link_root', 'ourwebsite.com') . '/resources';
echo '<a href="' . $some_link . '">View Resources</a>';
или этот:
$link_to_output = apply_filters( 'public_link_root', 'ourwebsite.com' ) . '/resources/whatever/here';
или в functions.php:
function custom_link() {
$user = wp_get_current_user();
return (is_user_logged_in())? "www.example.com/direct-download-link1":"just_a_dummy_link";
}
single.php:
echo '<a href="' . custom_link() . '">View Resources</a>';
Я ожидал, что все URL-адреса домена www.externallink.com будут изменены на www.ourwebsiteurl.com, но с вышеуказанными кодами ничего не изменилось. Ссылки должны быть замаскированы даже для зарегистрированных пользователей. И эти ссылки не должны работать, если они копируют и вставляют эти URL в свой браузер, если они не вошли в систему.