Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: post_password_required

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 3 times in this file.

Line Code
779  *
780  * @param int|WP_Post|null $post An optional post. Global $post used if not provided.
781  * @return bool false if a password is not required or the correct password cookie is present, true otherwise.
782  */
783 function post_password_required( $post = null ) {
784      $post = get_post($post);
785
786      if ( empty( $post->post_password ) ) {
787           /** This filter is documented in wp-includes/post.php */
788           return apply_filters( 'post_password_required', false, $post );
789      }
790
791      if ( ! isset( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] ) ) {
792           /** This filter is documented in wp-includes/post.php */
793           return apply_filters( 'post_password_required', true, $post );
794      }
795
796      $hasher = new PasswordHash( 8, true );
797
798      $hash = wp_unslash( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] );
799      if ( 0 !== strpos( $hash, '$P$B' ) ) {
800           $required = true;
801      } else {
802           $required = ! $hasher->CheckPassword( $post->post_password, $hash );
 
Line Code
805      /**
806       * Filters whether a post requires the user to supply a password.
807       *
808       * @since 4.7.0
809       *
810       * @param bool    $required Whether the user needs to supply a password. True if password has not been
811       *                          provided or is incorrect, false if password has been supplied or is not required.
812       * @param WP_Post $post     Post data.
813       */
814      return apply_filters( 'post_password_required', $required, $post );
815 }
816
817 //
818 // Page Template Functions for usage in Themes
819 //
820
821 /**
822  * The formatted output of a list of pages.
823  *