样式 wordpress 受保护的帖子

Style wordpress protected posts

有没有办法在 Wordpress 中设置受密码保护的帖子的样式?另外,我似乎只能保护,而不是除此之外的任何自定义字段。

编辑 – 尽量避免使用插件

您可以使用 Protected Post Personalizer 插件来达到目的 https://wordpress.org/plugins/protected-post-personalizer/

我假设您的意思是 front-end 上受密码保护的帖子的样式。

a) CSS:

如果您的主题使用 post_class() 功能,例如:

<article <?php post_class(); ?>>...</article>

然后会生成:

<article class="... post-password-required ...">...</article>

受密码保护的帖子。

所以您可以简单地定位这些帖子:

.post-password-required {
    background-color: #eee;
}

在您的样式表中。

b) 形式:

i) 如果您想在密码表单中添加文本,可以使用以下内容:

add_action( 'the_password_form', 'rob_the_password_form' );
function rob_the_password_form( $output )
{
    $before = ' Before ';  // Modify this to your needs!
    $after  = ' After ';   // Modify this to your needs!
    return $before . $output . $after;
}

ii)如果想直接修改HTML形式,可以重写:

add_filter( 'the_password_form', 'rob_override_the_password_form' );
function rob_override_the_password_form( $form = '' ) {
    global $post;
    $label = 'pwbox-'.( empty( $post->ID ) ? rand() : $post->ID );
    $form = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post">
    ' . __( "To view this protected post, enter the password below:" ) . '
    <label for="' . $label . '">' . __( "Password:" ) . ' </label><input name="post_password" id="' . $label . '" type="password" size="20" maxlength="20" /><input type="submit" name="Submit" value="' . esc_attr__( "Submit" ) . '" />
    </form>
    ';
    return $form;
}

这是基于 Codex 中的示例。它使用与默认形式相同的形式。

c) 标题:

要更改默认的Protected:标题前缀,您可以使用:

add_filter( 'protected_title_format', 'rob_protected_title_format' );
function rob_protected_title_format( $format )
{
    $format = __( ' Members only! %s ' ); // Modify this to your needs!
    return $format;
}

希望这能帮助您设置受保护帖子的样式。