受密码保护的帖子导致404错误

时间:2012-12-06 作者:charlenemasters

我刚刚测试了密码保护帖子的功能,当我提交密码时,它会将我发送到404页面。我确认输入的密码是正确的。URL栏显示:www.mydomain.com/wp-pass.php 但显示404页。无论密码是正确的还是错误的,它都应该显示一些关于密码错误的消息,或者显示受保护的帖子。不仅仅是404页。

这可能是什么原因造成的?提前感谢您的建议。

3 个回复
SO网友:charlenemasters

好吧,我自己想出来的!我使用add\\u filter自定义密码表单,以便添加css类。add\\u filter中的所有内容都很旧或完全错误。我在教程中找到了它,但这对我来说是一个教训。永远不要相信在网上找到的代码,除非它来自抄本或绝对的专家。

编辑:刚刚在Codex中找到了相同的代码*facepalm。上面写着“这不再有效”,但为什么它还在抄本中?对于任何有此问题的人:如果您使用了此处的代码:Using Password Protection: Password Form Text 新版本的Wordpress会出现问题。

SO网友:Jey DWork

袋熊的正确答案为-3时的mfw

很抱歉没有发表评论,但我这里还没有任何回购协议,我真的只是想知道wordpress上发生了什么。stackexchange。com公司

袋熊到底应该给这增加什么?我们有一个WP安装,其中包含一些来自codex的旧代码(同时codex应该对当前WP版本进行更正)。wordpress。com在我们的主题中functions.php 文件自定义密码表单,例如:

<?php
function my_password_form() {
    global $post;
    $label = \'pwbox-\'.( empty( $post->ID ) ? rand() : $post->ID );
    $o = \'<form action="\' . esc_url( site_url( \'wp-pass.php\', \'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 $o;
}
add_filter( \'the_password_form\', \'my_password_form\' );
?>
在一些更新中,WP更改了表单,但当我们在functions.php 我们现在得到OP在所讨论的更新之后描述的错误。现在我们改变了wp-pass.php/wp-login.php?action=postpass 正如袋熊所说(如当前法典页面所示):

<?php
function my_password_form() {
    global $post;
    $label = \'pwbox-\'.( empty( $post->ID ) ? rand() : $post->ID );
    $o = \'<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 $o;
}
add_filter( \'the_password_form\', \'my_password_form\' );
?>
问题已解决。(对于任何已经实现了导致此问题的自定义过滤器的人来说,Wombat提供的信息应该没有问题……那么,你们为什么要降低他的评分呢??)

SO网友:Wombat

更改wp pass的实例。php到/wp登录。php?操作=后通过

结束

相关推荐

My posts show 2 comment forms

我们有一个Wordpress网站,lifering.org, 在戈达迪主持。我们最近升级了虚拟服务器的Linux操作系统,这涉及到从备份重建站点。现在,我们的单篇帖子显示了两个评论回复表单。我相信我们之前每个帖子只有一个评论回复表。我不知道这是怎么发生的-我自己做了备份-或者如何修复它。