WP Weixin

November 11, 2023

WP Weixin Plugin

WordPress WeChat integration

WP Weixin provides integration between WordPress and WeChat. Register or authenticate users automatically in WeChat browser, use WeChat to create an account or authenticate on computers by scanning a QR code with WeChat, share posts in WeChat Moments and conversations or extend the plugin for more features!

Important notes

  • Requires a China Mainland WeChat Official Account (Subscription or Service – Service is required if used with companion plugins dealing with payments).
  • A domain used by WordPress must be registered in an Official Account’s backend.
  • The plugin itself does not require programming knowledge, and provides really useful functionalities out of the box. Where it really shines though is when used by developers to extend its functionalities (mainly through the pre-initialised JS SDK, the WeChat Responder, and various provided functions, actions and filters).
  • Make sure to read the “TROUBLESHOOT, FEATURE REQUESTS AND 3RD PARTY INTEGRATION” section below and the full documentation before contacting the author.

Overview

This plugin adds the following major features to WordPress:

  • WP Weixin settings page: configure the plugin with an Official Account (or as many as you want in multisite) in English or Chinese out of the box, with instructions for each option.
  • WeChat Authentication: automatically create and authenticate users in WordPress in the WeChat browser, or allow users to scan a QR code with WeChat when using classic browsers (social login).
  • WeChat Account Binding: let users bind/unbind their existing WordPress account with their WeChat account. Integrated with WooCommerce and Ultimate Member account pages, and may be integrated with any membership/account/profile plugin easily.
  • WeChat Share: Share posts and pages on Moments or Send to chat, in a pretty way. Triggers JavaScript events for developers on success and failure.
  • Force WeChat mobile: to prevent users from browsing the website outside of the WeChat browser. If accessed with a classic browser, the page displays a QR code.
  • Force following the Official Account: to harvest WeChat followers, forcing users to follow the Official Account before accessing the content.
  • WordPress Users screen override: to display WeChat names and WeChat avatars if they exist, instead of the default values in the user screen.
  • WP Weixin QR code generator: to create custom codes.
  • Menu integration: allows to set the Official Account menus in WordPress when the WeChat Responder is enabled.
  • Welcome message: sends a welcome message in WeChat when a user follows the Official Account ; allows to do so with WordPress when the WeChat Responder is enabled.
  • Developers – WeChat Responder: for developers to receive and respond to calls made by WeChat’s API.
  • Developers – WeChat JS_SDK: the wx JavaScript global variable is pre-configured with a signed package to leverage the JavaScript SDK of WeChat in WordPress themes more easily.

Compatible with WooCommerce, WooCommerce Multilingual, WPML, Ultimate Member, WordPress Multisite, and many caching plugins.

Companion Plugins

Developers are encouraged to build plugins and themes integrated with WeChat with WP Weixin as a core, leveraging its publicly available functions, actions and filters, or directly make use of the provided SDK.

If you wish to see your plugin added to this list, please contact the author.

Advanced – Multisite

WP Weixin supports multisite installs of WordPress, wether using domain/subdomains or subdirectories. It can even support multiple Official Accounts, provided the proper filters are implemented. For more information, see a more extensive description of the multisite settings, and the Multisite section of the documentation.

Unlike some plugins (commercial, obfuscated, and with dubious security standards), WP Weixin does not and will not rely on a crossdomain script dumped at the root of WordPress, but prefers to leverage the standard WordPress functions, actions and filters.

Troubleshoot, feature requests and 3rd party integration

Unlike most WeChat integration plugins, WP Weixin and its companion plugins published by the same author are provided for free.

WP Weixin is regularly updated, and bug reports are welcome, preferably on Github. Each bug report will be addressed in a timely manner, but issues reported on WordPress may take significantly longer to receive a response.

WP Weixin and all the companion plugins have been tested with the latest version of WordPress – in case of issue, please ensure you are able to reproduce it with a default installation of WordPress, Storefront theme if WooCommerce is active, and any of the aforementioned supported plugins if used before reporting a bug.

Feature requests (such as “it would be nice to have XYZ”) or 3rd party integration requests (such as “it is not working with XYZ plugin” or “it is not working with my theme”) for WP Weixin and all its companion plugins will be considered only after receiving a red envelope (红包) of a minimum RMB 500 on WeChat (guarantee of best effort, no guarantee of result).

To add the author on WeChat, click here, scan the WeChat QR code, and add “WP Weixin” as a comment in your contact request.

Installation

This section describes how to install the plugin and get it working.

  1. Upload the plugin files to the /wp-content/plugins/wp-weixin directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Edit plugin settings

Screenshots

  1. The main settings to integrate WordPress with WeChat.

    The main settings to integrate WordPress with WeChat.

  2. The WeChat Responder settings (for developers) and the proxy settings.

    The WeChat Responder settings (for developers) and the proxy settings.

  3. Other settings.

    Other settings.

  4. The screen shown in classic browser when "Force WeChat mobile" is checked in the main settings.

    The screen shown in classic browser when "Force WeChat mobile" is checked in the main settings.

  5. The welcome message sent to a new subscriber when the WeChat Responder is active (customisable via filters).

    The welcome message sent to a new subscriber when the WeChat Responder is active (customisable via filters).

  6. The list of users displaying WeChat names and WeChat avatars if they exist, instead of the default values.

    The list of users displaying WeChat names and WeChat avatars if they exist, instead of the default values.

  7. The default WordPress login form with WeChat QR code authentication link.

    The default WordPress login form with WeChat QR code authentication link.

  8. The WeChat QR code authentication page.

    The WeChat QR code authentication page.

  9. The public WeChat account informaton displayed on the default WordPress account page.

    The public WeChat account informaton displayed on the default WordPress account page.

  10. The page to bind a WordPress user acount with a WeChat account.

    The page to bind a WordPress user acount with a WeChat account.

  11. The page to unbind a WordPress user acount with a WeChat account.

    The page to unbind a WordPress user acount with a WeChat account.

  12. The default WooCommerce login form with WeChat QR code authentication link (similar on Ultimate Member login form).

    The default WooCommerce login form with WeChat QR code authentication link (similar on Ultimate Member login form).

  13. The default WooCommerce account page with WeChat account binding link (similar on Ultimate Member account page).

    The default WooCommerce account page with WeChat account binding link (similar on Ultimate Member account page).

  14. The public WeChat account informaton and WeChat account unbinding link displayed on the default WooCommerce account page (similar on Ultimate Member account page).

    The public WeChat account informaton and WeChat account unbinding link displayed on the default WooCommerce account page (similar on Ultimate Member account page).

  15. The WP Weixin QR code generator.

    The WP Weixin QR code generator.

  16. The interface to setup the WeChat Official Account menu when the WeChat Responder is active.

    The interface to setup the WeChat Official Account menu when the WeChat Responder is active.

Changelog

1.3.16

  • Remove WooCommerce compatbility tag (reason: irrelevant)

1.3.15

  • Fix user avatar
  • WordPress tested up to: 6.4
  • Added WP_WEIXIN_API_DISABLED constant to prevent calling WeChat API when set to true
  • Minor cosmetic improvements – admin interface
  • Added wp_weixin_is_follower function
  • Check existence of several $_SERVER values before using them
  • Ultimate Member compatibility improvements
  • Optimise refresh user info
  • Fix: save alternate thumbnail URL for WeChat Share
  • Revamp responder: better event handling, pre-register user upon following the OA, optimization
  • Update codebase with wp_doing_ajax filter
  • Add $class parameter to wp_weixin_get_auth_link
  • Added WP_WEIXIN_ALLOW_DESKTOP constant to turn off WeChat desktop reztriction
  • Use wx.updateTimelineShareData and wx.updateAppMessageShareData instead of updateTimelineShareData and updateAppMessageShareData
  • Minor improvements, fixes, and compatibility updates

1.3.14

  • Call 'wp_login' action when automatically logging in with the WeChat browser

1.3.13

  • Make sure not to show frontend error on default login page

1.3.12

  • Support JS-SDK jweixin-1.4.0.js
  • WordPress tested up to: 5.4.1

1.3.11

  • Update interface strings – payment callback labels
  • WC tested up to: 4.0.0
  • Translation updates

1.3.10

  • WC tested up to: 3.9.2
  • Fix a critical issue when enabling proxy (special thanks to @zhoufann9188 on GitHub)
  • Enhance template selection method

1.3.9

  • WC tested up to: 3.9.1

1.3.8

  • Minor bugfix: WeChat Responder should not be responding to button click event
  • Minor bugfix: Change a call to add_action to add_filter
  • WeChat SDK: Update MASS_GET const – call https

1.3.7

  • Minor bugfix: WeChat Responder settings validation

1.3.6

  • WeChat SDK: Update error codes and descriptions
  • WC tested up to: 3.9.0

1.3.5

  • WeChat SDK: Update error codes and descriptions
  • WeChat SDK: Add Broadcast methods (mass_previewmass_to_users, mass_to_all_or_tag, mass_delete, mass_check_status)
  • WeChat SDK: Add mobile browser H5 unified order method (mobileUnifiedOrder)
  • WeChat SDK: refactor asset management methods
  • WeChat SDK: refactor WeChat response parsing
  • WeChat SDK: convert encryption calls with mcrypt to open_ssl
  • WeChat SDK: response to erquests coming from WeChat handled using Customer Service interface instead of passive response
  • WeChat SDK: removed “event” ; added “voice”, “mpnews”, “video” and “menu” message types
  • Settings: decrease coupling with companion plugins
  • Added plugin version headers for companion plugins to check compatibility
  • Added wp_weixin_ajax_safe() function to allow WP Weixin to run during specific ajax requests
  • Added filter hook wp_weixin_ecommerce_description to allow extensions to customise the WeChat Pay Settings description.
  • Added check to output logs only when WordPress debug is activated
  • Added a notice on WooCommerce account edit page: WeChat registered users have an auto-generated password and it should be changed using the “Lost your password?” link in a web browser.
  • Added a template to tell users how to change their password when their account has been created automatically after they visited the site with WeChat browser.
  • Added a metabox to override the title and description of WeChat links when sharing a post on WeChat.
  • Use user meta to save follower status and react to events using the responder instead of relying on transient and cookies.
  • Display the featured image of the post in previously visited if exists instead of default image when following with force follow
  • Attempt to solve Multisite authentication issues
  • Minor bugfixes
  • Version 1.3.3 and 1.3.4 skipped
  • Update documentation

1.3.2

  • Add server logs when user creation failed

1.3.1

1.3

  • Major overall code refactor
  • File include optimisation
  • Do authentication in wp (breaks multisite if done in wp_loaded)
  • Add WeChat account binding from desktop, compatible WooCommerce and Ultimate Member out of the box ; may be integrated with any membership/account/profile plugin using provided functions and action & filter hooks
  • Add links to WeChat authentication in classic browsers on login forms, compatible WooCommerce and Ultimate Member out of the box ; may be integrated with any membership/account/profile plugin using provided functions and action & filter hooks
  • Add 11 new publicly available functions safe to use for developers
  • Add 26 action hooks for integration with the WP Weixin settings page, integration with membership/account/profile plugins, better integration with WeChat Pay, and build companion plugins
  • Add 8 filter hooks for better integration with WeChat Pay, customise the settings, manage users, and overload templates
  • Add 3 templates related to WeChat account binding
  • Support query variables in the URLs while doing authentication
  • Sensitive information in settings visible only when field is focused
  • SDK: add extend parameter to refundOrder – if string, value is attributed to refund_desc
  • Improve the UI
  • Update documentation – added “WeChat SDK” section, “Multisite” section, new functions and new hooks
  • Update translation

Special thanks:

  • Thanks @alexlii for extensive testing, translation, suggestions and donation!
  • Thanks @lssdo for translation
  • Thanks @kzgzs for improvement suggestions

1.2.2

  • Fixed bug redirecting to posts list after first authentication
  • Do authentication in wp_loaded instead of template_redirect
  • WeChat Pay Settings: add PEM certificates fields
  • WeChat SDK: add public function cert_files_exist()
  • WeChat SDK: fix refund method
  • WeChat SDK: fix payment request parsing method
  • Update documentation

1.2.1

  • Better error log
  • Fix persistent cache handling

1.2

  • Optimized rewrite rules registration
  • Multisite support with cross-domain authentication
  • Fix unnecessary redirect when visiting QR code auth the first time
  • Better compatibility with WPML and WooCommerce
  • Better compatibility with Open Social

1.1.2

  • Adjust hooks priorities and condition for authentication hooks registration
  • Do not require mobile authentication for ajax calls by default (can be altered with wp_weixin_auth_needed filter hook)

1.1.1

  • Proper 401 error if the server signature is not valid when visiting the WeChat Responder endpoint
  • Fix menu integration – make sure all types of button can be configured
  • Make sure authentication hooks registration is done only when necessary
  • WeChat SDK: fix media upload methods
  • WeChat SDK: add image response type

1.1

  • Add WeChat authentication for browsers by using temporary, secure QR codes (social login)
  • Cleanup and minor refactor
  • Added 2 functions, 4 filters, 3 templates

1.0.4

  • Add transient expiry to avoid deadlocks on somehow corrupted databases
  • Add possibility to get WordPress users by openid and unionid

1.0.3

  • Ensure compatibility with Open Social
  • Improve formatting

1.0.2

  • Adjust hooks priorities
  • Add Chinese translation

1.0.1

  • Fix activation settings issue

1.0

  • First version

Details

  • Version: 1.3.16
  • Active installations: 500
  • WordPress Version: 4.9.5
  • Tested up to: 6.4.5
  • PHP Version: 7.0

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars