Просмотр частной опубликованной страницы с URL-кодом (вход не требуется)
Цель состоит в том, чтобы легко разрешить крупным организациям/клиентам просматривать контент без необходимости иметь логин/учетную запись пользователя для каждого владельца стека проектов, предоставив один URL-адрес для окончательного проекта страницы/публикации для рассмотрения и или утверждения.
Мы хотим создать/найти плагин, который позволит людям просматривать "опубликованную в частном порядке" страницу с уникального URL-адреса... так что это будет похоже на сервисы обмена файлами, такие как dropbox, где вы можете отправлять личные закодированные ссылка, подобная www.somewebsite.com/?page=76&code=an30f90sk30ifkas0fsd9f9sf ...
Если у вас есть этот код и он правильный, то вам не нужно входить на веб-сайт, чтобы просмотреть страницу. Как только страница будет закрыта и опубликована, мы покажем общедоступную "ссылку", по которой пользователь может скопировать и вставить ее для просмотра клиентами/и т. Д.
Мы не смогли найти плагин, который сделает это за нас, и поэтому мы хотим что-то построить, но хотим получить несколько советов о направлении опции или функции, которые мы, возможно, захотим рассмотреть.
1 answers
На самом деле вы можете подключить встроенную функцию пароля страницы/публикации и настроить ее на проверку параметров URL, соответствующих паролю страницы/публикации, а затем изменить значение $required
на false
.
add_filter( 'post_password_required', 'my_allow_url_param', 10, 2 );
function my_allow_url_param( $required, $post ) {
if ( empty( $post->post_password ) ) {
$required = false;
return $required;
}
if ( $_GET['code'] == $post->post_password ) {
$required = false;
}
return $required;
}
Если у вас была страница с заголовком /sample-page/
и в настройках администратора вы установили пароль Cf5aTgZqBz5h6g1y858eQmpTWizzHzZN
в настройках видимости на экране редактирования этой страницы, вы могли бы получить к ней доступ без входа в систему или ввода пароля со следующим URL:
http://sitename.com/sample-page/?code=Cf5aTgZqBz5h6g1y858eQmpTWizzHzZN