如何基于当前WordPress用户创建带条件判断的自定义短码
基于用户身份的条件短码实现
要实现根据当前登录用户身份返回不同内容的短码,你需要先获取用户信息,再添加条件判断逻辑。以下是完善后的完整代码:
function my_shortcode_function() { // 获取当前登录用户对象 $current_user = wp_get_current_user(); // 检查用户是否已登录 if ( ! $current_user->exists() ) { // 未登录用户的默认返回内容,可按需修改 return '请先登录以查看内容'; } // 根据用户名匹配返回对应内容 switch ( $current_user->user_login ) { case 'Jonny': return reblex_display_block(610); case 'Sally': return reblex_display_block(199); case 'Jamie': return reblex_display_block(554); default: // 其他用户的默认返回内容,可按需修改 return '暂无可用内容'; } } add_shortcode('coolshortcodename', 'my_shortcode_function');
关键说明:
- 使用WordPress官方函数
wp_get_current_user()获取当前用户信息,确保兼容性和安全性 - 增加未登录用户判断,避免非登录状态下的逻辑错误
- 用
switch语句替代多if-else,结构更清晰,后续添加新用户时更易维护 - 保留默认分支,处理未匹配到指定用户的场景,保证短码始终有返回值
内容的提问来源于stack exchange,提问作者SnowboardBruin
相关产品推荐
相关产品推荐

