如何修改WordPress代码让普通用户可见自身及指定ID用户的帖子?
修改WordPress后台帖子可见范围:允许查看自身+特定用户帖子
原代码仅让无编辑他人帖子权限的用户查看自己的帖子,现在调整为同时显示特定用户(比如管理员)的帖子,只需修改查询参数即可:
- 替换原代码中的
author参数为author__in,传入包含当前用户ID和目标用户ID的数组 - 提前定义允许查看的用户ID列表,方便你修改
修改后的完整代码:
add_action('pre_get_posts', 'wptw_query_disable_post_media' ); function wptw_query_disable_post_media( $wp_query ) { global $current_user; // 定义允许查看的用户ID:当前用户 + 管理员ID(这里改成你实际的管理员ID,比如1) $allowed_authors = array( $current_user->ID, 1 ); if( is_admin() && !current_user_can('edit_others_posts') ) { // 使用author__in参数替代author,支持多个用户ID $wp_query->set( 'author__in', $allowed_authors ); add_filter('views_edit-post', 'wptw_show_post_counts'); add_filter('views_upload', 'wptw_show_media_counts'); } }
注意事项:
- 把代码中的
1替换成你实际需要展示的管理员用户ID(可以在后台用户列表里查看对应用户的ID) - 如果后台的帖子计数(比如“全部”“草稿”的数字)显示不正确,需要同步调整
wptw_show_post_counts和wptw_show_media_counts函数,让它们统计$allowed_authors里所有用户的帖子数(如果这两个函数是你之前添加的)
内容的提问来源于stack exchange,提问作者Hathrox
相关产品推荐
相关产品推荐

