Current Location: Home> Latest Articles> Complete Guide to Implementing Personalized Settings in WeChat Mini Programs Using PHP

Complete Guide to Implementing Personalized Settings in WeChat Mini Programs Using PHP

M66 2025-07-02

Overview of Personalized Settings in WeChat Mini Programs

As WeChat Mini Programs become more widely used, many developers are looking to add personalized features to enhance user experience and brand identity. By leveraging PHP, developers can efficiently implement customized menus, styles, and more. This article walks you through the complete process with practical PHP code examples.

Obtaining Basic Mini Program Information

Before starting development, you need to register a Mini Program on the WeChat Official Platform and obtain your AppID and AppSecret. These credentials are essential for making API calls later.

Retrieving access_token for API Calls

To call WeChat APIs, you first need to get an access_token. Here's how to do it using PHP:

function getAccessToken($appid, $appsecret) {
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
    $result = file_get_contents($url);
    $result = json_decode($result, true);

    if (isset($result['access_token'])) {
        return $result['access_token'];
    } else {
        return false;
    }
}

Creating Personalized Menus

Personalized menus allow you to display different menu options based on user tags or other criteria, offering a tailored experience. Here’s how to define a personalized menu in PHP:

$access_token = getAccessToken($appid, $appsecret);

$data = array(
    'button' => array(
        array(
            'name' => 'Button 1',
            'type' => 'click',
            'key'  => 'V1001_BUTTON1'
        ),
        array(
            'name' => 'Button 2',
            'type' => 'click',
            'key'  => 'V1001_BUTTON2'
        ),
        array(
            'name' => 'Button 3',
            'type' => 'click',
            'key'  => 'V1001_BUTTON3'
        )
    ),
    'matchrule' => array(
        'tag_id' => '100'
    )
);

$url = "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token={$access_token}";
$result = httpRequest($url, json_encode($data));

function httpRequest($url, $data = null) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

    $response = curl_exec($curl);
    curl_close($curl);

    return $response;
}

Applying Personalized UI Styles

Beyond functional menus, you can also customize the visual style of your Mini Program using PHP. This includes navigation bar colors, background styles, and other UI elements. Here's an example:

$access_token = getAccessToken($appid, $appsecret);

$data = array(
    'template_id'  => 'TEMPLATE_ID',
    'ext_json'     => '{"extAppid":"EXT_APPID","ext":"EXT_DATA"}',
    'user_version' => 'USER_VERSION',
    'user_desc'    => 'USER_DESC'
);

$url = "https://api.weixin.qq.com/wxa/commit?access_token={$access_token}";
$result = httpRequest($url, json_encode($data));

In this code, template_id refers to the Mini Program template ID, and ext_json contains your custom style configurations. Adjust these fields based on your specific requirements.

Conclusion

This guide has demonstrated how to use PHP to implement personalized features in a WeChat Mini Program. By obtaining an access_token and leveraging WeChat's open APIs, developers can create custom menus and visual styles tailored to specific user segments. These enhancements can significantly boost user engagement and improve the overall Mini Program experience.