/**
* 子比主题多导航小工具
*/
$widgets_files = array(
'tengfei_more_navigation.php', /*小工具文件名*/
);
foreach ($widgets_files as $file) {
require get_template_directory() . '/tengfei/widgets/' . $file;
/**
* 面包屑修改
*/
add_action('wp', function() {
if (is_single() || is_singular('forum_post')) {
ob_start();
}
});
add_action('shutdown', function() {
$buffer = ob_get_clean();
if ($buffer) {
echo preg_replace('/
文章最后更新时间:' . $updated_date . '
';
}
echo $custom_content;
}
add_action('zib_posts_content_before', 'article_time_update');
/**
* 会员开通/续费送积分功能
*/
// 监听支付成功事件
add_action('payment_order_success', 'zib_vip_payment_give_points', 15);
/**
* 会员开通/续费送积分
* @param object $pay_order 订单对象
*/
function zib_vip_payment_give_points($pay_order) {
// 检查是否是会员订单
if (empty($pay_order->user_id) || empty($pay_order->product_id) || 4 != $pay_order->order_type) {
return;
}
// 解析产品ID
$vip_product_id = explode('_', $pay_order->product_id);
if (!isset($vip_product_id[0]) || !isset($vip_product_id[1]) || !isset($vip_product_id[2]) || !isset($vip_product_id[3]) || 'vip' != $vip_product_id[0]) {
return;
}
$pay_vip_level = (int) $vip_product_id[1];
$pay_vip_product = (int) $vip_product_id[2];
$pay_vip_action = $vip_product_id[3];
$user_id = $pay_order->user_id;
// 获取产品信息
if ('renew' == $pay_vip_action) {
// 续费
$product_args = zibpay_get_vip_renew_product($pay_vip_level);
} else if ('pay' == $pay_vip_action) {
// 开通
$product_args = (array) _pz('vip_opt', '', 'vip_' . $pay_vip_level . '_product');
} else {
// 其他操作(如升级)不赠送积分
return;
}
// 检查产品是否存在
if (!isset($product_args[$pay_vip_product])) {
return;
}
$product = $product_args[$pay_vip_product];
$time = isset($product['time']) ? $product['time'] : 0;
$unit = isset($product['unit']) ? $product['unit'] : 'month';
// 处理月付和年付产品
if (!in_array($unit, array('month', 'year'))) {
return;
}
// 统一转换为月数进行计算
$months = $time;
if ('year' == $unit) {
$months = $time * 12;
}
// 根据时长和操作类型计算积分
$points = 0;
if (1 == $months) {
// 1个月
if ('pay' == $pay_vip_action) {
$points = 600; // 开通1个月赠送600积分
} else if ('renew' == $pay_vip_action) {
$points = 600; // 续费1个月赠送600积分
}
} else if (3 == $months) {
// 3个月
if ('pay' == $pay_vip_action) {
$points = 2000; // 开通3个月赠送2000积分
} else if ('renew' == $pay_vip_action) {
$points = 2000; // 续费3个月赠送2000积分
}
} else if (6 == $months) {
// 6个月
if ('pay' == $pay_vip_action) {
$points = 4500; // 开通6个月赠送4500积分
} else if ('renew' == $pay_vip_action) {
$points = 4500; // 续费6个月赠送4500积分
}
} else if (12 == $months) {
// 12个月(年付)
if ('pay' == $pay_vip_action) {
$points = 10000; // 开通1年赠送10000积分
} else if ('renew' == $pay_vip_action) {
$points = 10000; // 续费1年赠送10000积分
}
}
// 赠送积分
if ($points > 0) {
$unit_text = 'month' == $unit ? '个月' : '年';
$data = array(
'value' => $points,
'type' => '会员赠送',
'desc' => ($pay_vip_action == 'pay' ? '开通' : '续费') . $time . $unit_text . '会员赠送',
'order_num' => $pay_order->order_num,
);
zibpay_update_user_points($user_id, $data);
}
}
/**
* 信息编辑页修改
*/
remove_filter('main_user_tab_content_data', 'zib_main_user_tab_content_data');
add_filter('main_user_tab_content_data', 'wxs_zib_main_user_tab_content_data');
function wxs_zib_main_user_tab_content_data()
{
$user = wp_get_current_user();
$user_id = isset($user->ID) ? (int) $user->ID : 0;
if (!$user_id) {
return;
}
$privacy = zib_get_user_meta($user_id, 'privacy', true);
$gender = get_user_meta($user_id, 'gender', true);
$html = '';
$avatar = zib_get_avatar_box($user_id, 'avatar-img avatar-lg', false, false);
$avatar_set_link = zib_get_user_avatar_set_link('but c-blue p2-10 em09 ml6 hollow shrink0', '修改头像');
$html .= '