错误bug描述:当设置完允许付费价格为0后,从WordPress后台发布付费内容价格设置为0可以正常发布。但是从网站前台投稿时付费内容设置为0会提示请设置正确的付费价格。无法发布。
解决办法:/zibll/action/new_posts.php打开定位433行左右
将
$points_price = !empty($posts_zibpay['points_price']) ? (int) $posts_zibpay['points_price'] : 0;
if (!$points_price) {
zib_send_json_error(array('posts_id' => $post_id, 'msg' => __('请设置付费内容的积分价格', 'zib_language')));
}
替换为
// 核心变动 1:改用 isset 替代 empty,防止数字 0 被判定为未填写
$points_price = isset($posts_zibpay['points_price']) && is_numeric($posts_zibpay['points_price']) ? (int) $posts_zibpay['points_price'] : 0;
// 核心变动 2:动态判断主题 0 元免费开关,放行合法填入的 0 积分值
if (_pz('post_article_pay_free_s')) {
if (!isset($posts_zibpay['points_price']) || !is_numeric($posts_zibpay['points_price'])) {
zib_send_json_error(array('posts_id' => $post_id, 'msg' => __('请设置付费内容的积分价格', 'zib_language')));
}
} else {
if ($points_price <= 0) {
zib_send_json_error(array('posts_id' => $post_id, 'msg' => __('请设置付费内容的积分价格', 'zib_language')));
}
}
THE END









暂无评论内容