Classes
This documentation is for an outdated Matomo version.
Click here if you want to read this article for the latest version.
Click here if you want to read this article for the latest version.
Matomo for WordPress - PHP Classes API
This is the API Reference for developers who want to enrich the Matomo for WordPress plugin.
matomo_add_plugin($matomo_plugin_directory_path, $wp_plugin_filename, $is_marketplace_plugin = false)- Registers a Matomo plugin. Set$is_marketplace_plugintotrueif you have a Matomo plugin that you are putting on the Matomo Marketplace.matomo_has_tag_manager()- Detects if the Tag Manager feature is enabled/available.
\WpMatomo\Bootstrap
::doBootstap()- Lets you bootstrap Matomo application within WordPress. Once Matomo is bootstrapped, you can access all Matomo PHP API's.
\WpMatomo\Site
get_current_matomo_site_id()- Retrieve the idSite for the currently viewed / active blog.
\WpMatomo\User
get_current_matomo_user_login()- Get the Matomo user login name of the currently logged in WP user. The user login is usually the same as in WordPress but may differ.
\WpMatomo\Capabilities
const KEY_VIEW- View permission in Matomoconst KEY_WRITE- At least write permission in Matomoconst KEY_ADMIN- At least admin permission in Matomoconst KEY_SUPERUSER- Super user permission in Matomo
Example:
if (current_user_can(\WpMatomo\Capabilities::KEY_SUPERUSER) {
// user has super user permission
}
\WpMatomo\API
register_route ( $api_module, $api_method )- Makes the given Matomo API method available through the WordPress Rest API.
\WpMatomo\Settings
is_network_enabled()- Detect if MultiSite is enabled and Matomo is network enabled.get_global_option()- Get a global configuration option. If Matomo is network enabled, then these options are not stored per blog but on network level and the same option applies to all blogs.get_option()- Get a configuration option. These options are always stored per blog.apply_changes( $settings )- Update the given configuration options, egarray('track_mode' => 'disabled').apply_tracking_related_changes( $settings )- Same asapply_changes()but regenerates the tracking code afterwards. Should be used if tracking related options are being changed.
\WpMatomo\Admin\Menu
get_matomo_reporting_url( $category, $subcategory, $params = array() )- Generate a URL to a specific report in the standalone Matomo reporting UI.get_matomo_action_url( $module, $action, $params = array() )- Generate a URL to a specific controller action in the standalone Matomo UI.
\WpMatomo\Db\Settings
prefix_table_name( $table_name )- Prefix a Matomo table name. Applies the WordPress and the Matomo table prefix. For example "site" might become "wp_matomo_site".