在WordPress中,默认情况下,加密文章(即设置了密码保护的文章)在列表页(如首页、分类页、标签页等)不会显示任何内容摘要,只会显示一个提示(如“这是一篇受密码保护的文章”)。但有时我们希望在列表页显示加密文章的摘录,同时保留密码保护的状态,这样用户可以在不输入密码的情况下看到文章的摘要,但阅读全文需要密码。
以下代码添加到主题的 functions.php 文件中:
function show_excerpt_for_protected_posts($excerpt) {
if (post_password_required()) {
global $post;
$post_excerpt =$post->post_excerpt;
if (!empty($post_excerpt)) {
return '<div class="protected-excerpt">' . $post_excerpt . '</div>';
} else {
return '<div class="protected-excerpt">' . __('这是一篇加密文章,请输入密码查看完整内容', 'text-domain') . '</div>';
}
}
return $excerpt;
}
add_filter('the_excerpt', 'show_excerpt_for_protected_posts');