[WordPress] tworzenie posta z hasłem
Pawel Szulc
2/19/2017 | 12:05 PM

Witam, tworzę custom post type z postami które mają hasło, wszystko jest, ale nie wiem jak na stronie archives.php wyświetlić to pole do wpisania hasła. chciałbym zrobić tak ze na archiwum jest miniatura i po kliknięciu w miniature pokazuje sie pole input aby podać hasło i po wpisaniu tego hasła otwiera sie strona tego wpisu. Pomoże ktoś? teraz jest tak ze obok tytułu jest napis "zabezpieczony"

Pawel Szulc
2/20/2017 | 10:48 PM

Kod poniżej pomógł add_action( 'wp', 'post_pw_sess_expire' ); function post_pw_sess_expire() { if ( isset( $_COOKIE['wp-postpass_' . COOKIEHASH] ) ) // Setting a time of 0 in setcookie() forces the cookie to expire with the session setcookie('wp-postpass_' . COOKIEHASH, $_COOKIE['wp-postpass_' . COOKIEHASH], 1, COOKIEPATH); }

Piotr Palarz
2/20/2017 | 9:46 PM

To dlatego, że jest zapisywane ciasteczko. Proszę spróbować dodać taki kod: http://pastebin.com/9baraG5b do pliku functions.php aktywnego szablonu. Nie jestem pewien czy zadziała, ale w razie czego pomyślimy dalej.

Pawel Szulc
2/20/2017 | 4:20 PM

witam jeszcze raz, powiedzmy ze dało to rade jeszczez bede musiał to jakoś ostylować, ale mam pytanie co do czasu trwania sesji jak ktoś wpisze to hasło, bo teraz jest tak ze wystarczy raz wpisać i post jest widoczny, a chodzi bardziej oto aby ten post jeśli ktoś przejdzie na inną zakładkę to jak powróci to musiałbym znowu wpisać to hasło, nie tak ze jak wpisze to juz ma cały czas widoczny post

Piotr Palarz
2/20/2017 | 1:10 PM

i żeby nie było błędu to jeszcze należy poniższy kod zakończyć: <?php endif; ?> przed zamykającym </h3>

Piotr Palarz
2/20/2017 | 1:09 PM

Może Pan to zrobić za pomocą funkcji post_password_required() a zatem np. dla tytułu: <h3> <?php if( post_password_required() ) : ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php else : ?> <?php the_title(); ?> </h3> Więcej o tej funkcji tutaj: https://developer.wordpress.org/reference/functions/post_password_required/

Pawel Szulc
2/20/2017 | 9:57 AM

Witam coś sie ruszyło do przodu :) wystarczyło ze gdzieś na stronie archives.php dodałem "echo get_the_password_form();" i to pole się wyświetla, ale i tak w momencie kliknięcia w link do postu, strona wpisu się wyświetla, a czy dało by rade zrobić tak ze link nie bedzie działał dopóki się nie wpisze hasła? tak zeby dopiero po wpisaniu hasła można było klinkąć w link i wtedy byłoby przekierowanie

Piotr Palarz
2/19/2017 | 8:01 PM

Podążał Pan według tych przykładów? https://codex.wordpress.org/Using_Password_Protection W razie czego coś wymyślimy :)