In der Metabox „Veröffentlichen“ bietet WordPress an, Beiträge und Seiten durch ein Passwort zu schützen, und so nur Lesern zugänglich zu machen, die Befugnis dafür bekamen. In einem Fallbeispiel ging es um Downloads die zwar frei waren, aber der Betreiber wollte wissen wer sich für seine Downloads interessiert, und aus welchen Gründen.
'.$form_id.'
im Snippet durch die ID des Formulars ersetzen.
Sein Wunsch war, ein Formular für die Passwortanfrage bereitzustellen. Contact Form 7 war bereits installiert. Es brauchte also nur noch ein frisches Formular und eine Logik, die es automatisch an geschützte Beiträge anhängen konnte. Das wäre unter anderem auch über ein Customfield gegangen, aber auch durch einen Filter. Dafür sollte man sich die ID des Formulars merken.
function pppf_password_request_form( $content ) {
global $post;
if ( post_password_required( $post->ID ) ) {
$form = do_shortcode('[contact-form-7 id="' . $form_id . '"]');
return $content . sprintf('<div class="formwrapper">%s</div>',$form);
}
return $content;
}
add_filter( 'the_content', 'pppf_password_request_form' );
Das erfüllt seinen Zweck, wenn alle geschützen Inhalte über dasselbe Passwort erreichbar sind, und es daher keine Rolle spielt, für welchen Beitrag genau das Passwort angefordert wird. Für differenziertere Anforderungen braucht es dann auch ebensolche Lösungen.
Schreibe einen Kommentar