来自AI助手的总结
在WordPress主题的functions.php文件末尾添加代码以根据用户ID生成并显示样式化信息。
登录到服务器后台:
在网站根目录下找到:/wp-content/themes/zibll/functions.php
修改文件:
修改functions.php
文件前请备份。将下列代码粘贴到文件末尾。
/**
* 根据用户ID生成带有样式化信息的描述
* @param string $desc 原始描述内容
* @param int $user_id 用户ID
* @return string 组合后的描述内容
*/
function ZbTool_user_id_to_desc($desc, $user_id) {
// 配置项:可通过数组管理可配置参数
$settings = [
'show_uid' => true, // 是否显示UID
'show_join_day' => true, // 是否显示加入天数
'show_pay_price' => true // 是否显示消费金额
];
// 信息块生成配置
$blocks = [];
if ($settings['show_uid']) {
$blocks[] = [
'content' => 'UID:' . $user_id,
'class' => 'c-red',
'icon' => '<svg class="icon" aria-hidden="true"><use xlink:href="#icon-tag-color"></use></svg>'
];
}
if ($settings['show_join_day']) {
$blocks[] = [
'type' => 'callback',
'content' => zib_get_user_join_day_desc($user_id, 'but c-cyan')
];
}
if ($settings['show_pay_price']) {
$blocks[] = [
'content' => '总消费:' . zibpay_get_user_pay_price($user_id, 'pay_price'),
'class' => 'jb-vip2'
];
}
// 生成HTML片段
$output = array_map(function($block) {
if (isset($block['type']) && $block['type'] === 'callback') {
return $block['content']; // 直接使用回调函数结果
}
$content = esc_html($block['content']);
$class = isset($block['class']) ? ' ' . esc_attr($block['class']) : '';
$icon = isset($block['icon']) ? $block['icon'] : '';
return sprintf(
'<span class="but%s">%s%s</span>',
$class,
$icon,
$content
);
}, $blocks);
// 合并输出内容
return implode(' ', $output) . ' ' . $desc;
}
// 挂载过滤器
add_filter('user_page_header_desc', 'ZbTool_user_id_to_desc', 10, 2);
add_filter('author_header_identity', 'ZbTool_user_id_to_desc', 10, 2);
效果展示:
© 版权声明
THE END
暂无评论内容