neo yang

Copywriter, webmaster, product manager, architect, independent developer.

Time:2023/07/17

Iteration of membership subscription module

 

 

For the platform CMS I built myself, the membership subscription part has always been "simple to implement". This weekend I restructured this part and developed the core part.

1. Method

Generally speaking, membership subscription mainly includes three parts: membership subscription plan and purchase, member permission control, and member management.

1. For membership subscription plans and purchases

Just prepare to make some extensions based on the existing mall system.

2. For member permission control,

This needs to be mentioned in particular. We are not planning to do it based on a role permission system, but a separate member-controlled system.

Based on the role authority system, members are made into a role series, and each type of member is made into a role in this role series. It sounds reasonable. However, in this case, it is very troublesome to do or use, especially when there is a lot of business, the various logics will be very complicated, and all kinds of confusion will be caused if you are not careful. And it's not flexible enough.

Moreover, in fact, the membership subscription part of many excellent systems is not role-based. Instead, permission control is implemented based on "marks" or orders. Many well-selling membership subscription plug-ins, including WordPress, are done in this way.

Based on "user tags":

In essence, it is the same principle as the character system. It is to define some "marks" of members. Users who purchase the membership subscription plan associated with this "mark" will be "marked with this mark", so that the control of member permissions can be achieved.

Based on order:

Purchase a membership subscription plan and form an order. After payment, the expiration time will be written into the order. Therefore, you can judge based on the order whether the user is a member, what kind of member it is, and whether it has expired. This way you can control member permissions.

 

I have done an order-based method before, and this time I plan to use "user tags".

There is nothing wrong with being based on orders, but the order system of the platform CMS I am building now supports many order types, making the order model relatively "large". I don't plan to "add weight" to it anymore, so I chose Based on "user tags".

3. Member management

Based on the existing user management extension, we do not plan to do member management alone.

 

2. Applicable scenarios

1. Basic scenario

The entire product has one or several subscription plans, which users purchase and enjoy membership services.

Define membership tags globally. Each membership tag contains at least three fields: name, slug, and associated subscription plan id.

When a user purchases a subscription plan with a membership mark, the membership mark and expiration time will be written into the user's meta data.

2. Platform/multi-tenant scenario

For platforms and multi-tenant SAAS, there is a very important scenario: the subscription plan provided by the vendor itself.

Define the supplier's membership tag in the supplier's user's meta data. The key of the supplier's membership tag cannot be the same as the key of the global membership tag.

When a user purchases a subscription plan from this provider, the corresponding membership tag and expiration date will be written to the purchasing user's meta data.

This iteration only implements basic scenarios, but it must be able to be extended to platform and multi-tenant scenarios.

 

3. Determine whether the membership has expired when logging in

When the user logs in, it is judged whether it has expired. If it has expired, update the member mark in the meta data to false and the expiration date to false.

 

How to build a successful social product (1) - user behavior and user relationships

1. What do social products do? First of all, we need to know, what exactly do social products do? All social products are platform products. In other words, all […]

Time:2023/07/12

Problem with iframe embedded web page not displaying

The embedded web page must be an https URL to be displayed, and an http URL is not displayed.

tags:

Facing the hot AIGC, what should we do?

AIGC is so popular that everyone is discussing what to do. I summarized it, and the discussion focused on two points: 1. Upgrading and iterating or looking for the so-called "innovation [...]

po files and mo files - translation of wordpress theme and plugin

For WordPress theme authors and plugin authors, translating their own themes and plugins cannot avoid po files and […]

For growth, the role of social media

  Traffic is drying up. Social media is becoming increasingly difficult to use. In the past two years, I have found that many people have some misunderstandings about social media and self-media […]

How to build a successful B-side SAAS platform

Last year, I helped an international HR SaaS company to develop a solution. The core of this solution is two successful B-side SAAS platforms […]

How to make a successful WEB3 product

If we say that WEB1.0 is the slave era, user data was plundered by websites. If we say that WEB2.0 is the feudal era, the relationship between users and platforms is…

Time:2023/06/28

Comparison of user behavior between TikTok and Douyin

In 2019, I developed a short video social APP for overseas markets. At that time, I did some comparative analysis on the user behaviors of Tiktok and Douyin. Here are some notes from that time.

1. About short videos and live broadcasts

For domestic users, short videos and live broadcasts are both used to create content, so short videos and live broadcasts are both content forms.

For overseas users, short videos and live broadcasts are first and foremost a means of communication. Short videos are first and foremost text messages, except that they send videos. Live broadcasts are first and foremost a phone call, except that they can synchronize video images, whether it is one-to-one or one-to-many.

This is why there are many social apps based on short videos and live communications overseas, while in China, most of them are products that produce short videos and serve to better produce live broadcasts.

 

2. About fans

For domestic users, fans are money, and the number of followers is the key number used for monetization.

For overseas users, especially European and American users (TikTok's user base is generally younger), fans are friends, and this is a number worth showing off. A large number of younger users on TikTok are generally proud of having many friends.

3. About live broadcast and live broadcast gifts

Domestic live broadcasts are all about content. They are mainly about selling art and goods. The pictures are beautiful, there are all kinds of temptations, and they are very elaborate.

Live streaming overseas, including TikTok, is truly a “communication tool.”

First of all, in terms of the total amount of live broadcasts, it cannot be compared with Douyin.

Then, the most common thing is a woman chatting with a group of men. Picture? Temptation? What is that? Just chatting casually. Such, giving gifts, very rare.

Occasionally, there are performers performing for money, but their quality and popularity are far from those of domestic live broadcasts. The gift-giving situation is also generally incomparable to that of domestic live broadcasts.

 

Time:2023/06/27

jQuery problem: juncaught typeerror: $ is not a function

js problems are all asynchronous problems.

WordPress also loads various js in a certain order. WordPress basically loads its own js first, and then loads its own defined js.

$(function(){})

In this way, if you encounter the following problems

uncaught typeerror: $ is not a function

You can change the way of writing

jQuery(function($){})

tags:

copyright © www.lyustu.com all rights reserved.
Theme: TheMoon V3.0. Author:neo yang