Version Description
- Fix feed tracking via proxy script (thanks to nicobilliotte, details)
- Add piwik.php proxy script wrapper to make sure proxy tracking codes continue working if piwik.php is used
- Fix for stalled blog options on network activation (thanks to ulkoalex, details)
- Fix wrong title on city statistics (thanks to ulkoalex, details)
- Fix "call to undefined method" error on network admin
- Do not allow to set empty WP-Matomo display name
- Rename Piwik link on dashboard widget to Matomo
Download this release
Release Info
Developer | Braekling |
Plugin | WP-Matomo (WP-Piwik) |
Version | 1.0.26 |
Comparing to | |
See all releases |
Code changes from version 1.0.25 to 1.0.26
- .gitignore +2 -0
- classes/WP_Piwik.php +10 -10
- classes/WP_Piwik/Admin/Network.php +1 -1
- classes/WP_Piwik/Admin/Settings.php +1 -1
- classes/WP_Piwik/Settings.php +22 -6
- classes/WP_Piwik/TrackingCode.php +3 -2
- classes/WP_Piwik/Widget/City.php +1 -1
- classes/WP_Piwik/Widget/Overview.php +1 -1
- proxy/piwik.php +3 -0
- readme.txt +13 -4
- wp-piwik.php +1 -1
.gitignore
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
|
2 |
+
.idea/
|
classes/WP_Piwik.php
CHANGED
@@ -10,7 +10,7 @@ use WP_Piwik\Widget\Post;
|
|
10 |
*/
|
11 |
class WP_Piwik {
|
12 |
|
13 |
-
private static $revisionId =
|
14 |
|
15 |
/**
|
16 |
* Constructor class to configure and register all WP-Piwik components
|
@@ -198,7 +198,7 @@ class WP_Piwik {
|
|
198 |
private function installPlugin($isUpdate = false) {
|
199 |
self::$logger->log ( 'Running WP-Matomo installation' );
|
200 |
if (! $isUpdate)
|
201 |
-
$this->addNotice ( 'install', sprintf ( __ ( '%s %s installed.', 'wp-piwik' ), self::$settings->
|
202 |
self::$settings->setGlobalOption ( 'revision', self::$revisionId );
|
203 |
self::$settings->setGlobalOption ( 'last_settings_update', time () );
|
204 |
}
|
@@ -232,7 +232,7 @@ class WP_Piwik {
|
|
232 |
}
|
233 |
}
|
234 |
if ((self::$settings->getGlobalOption('update_notice') == 'enabled') || ((self::$settings->getGlobalOption('update_notice') == 'script') && $isPatched))
|
235 |
-
$this->addNotice ( 'update', sprintf ( __ ( '%s updated to %s.', 'wp-piwik' ), self::$settings->
|
236 |
$this->installPlugin ( true );
|
237 |
}
|
238 |
|
@@ -384,7 +384,7 @@ class WP_Piwik {
|
|
384 |
}
|
385 |
}
|
386 |
$statsPage = new WP_Piwik\Admin\Statistics ( $this, self::$settings );
|
387 |
-
$this->statsPageId = add_dashboard_page ( __ ( 'Matomo Statistics', 'wp-piwik' ), self::$settings->
|
388 |
$statsPage,
|
389 |
'show'
|
390 |
) );
|
@@ -392,7 +392,7 @@ class WP_Piwik {
|
|
392 |
}
|
393 |
if (! self::$settings->checkNetworkActivation ()) {
|
394 |
$optionsPage = new WP_Piwik\Admin\Settings ( $this, self::$settings );
|
395 |
-
self::$optionsPageId = add_options_page ( self::$settings->
|
396 |
$optionsPage,
|
397 |
'show'
|
398 |
) );
|
@@ -406,14 +406,14 @@ class WP_Piwik {
|
|
406 |
public function buildNetworkAdminMenu() {
|
407 |
if (self::isConfigured ()) {
|
408 |
$statsPage = new WP_Piwik\Admin\Network ( $this, self::$settings );
|
409 |
-
$this->statsPageId = add_dashboard_page ( __ ( 'Matomo Statistics', 'wp-piwik' ), self::$settings->
|
410 |
$statsPage,
|
411 |
'show'
|
412 |
) );
|
413 |
$this->loadAdminStatsHeader ( $this->statsPageId, $statsPage );
|
414 |
}
|
415 |
$optionsPage = new WP_Piwik\Admin\Settings ( $this, self::$settings );
|
416 |
-
self::$optionsPageId = add_submenu_page ( 'settings.php', self::$settings->
|
417 |
$optionsPage,
|
418 |
'show'
|
419 |
) );
|
@@ -598,11 +598,11 @@ class WP_Piwik {
|
|
598 |
$posturl = get_permalink ( $post->ID );
|
599 |
$urlref = get_bloginfo ( 'rss2_url' );
|
600 |
if (self::$settings->getGlobalOption ( 'track_mode' ) == 'proxy')
|
601 |
-
$url = plugins_url ( 'wp-piwik' ) . '/proxy/
|
602 |
else {
|
603 |
$url = self::$settings->getGlobalOption ( 'piwik_url' );
|
604 |
if (substr($url, -10, 10) == '/index.php')
|
605 |
-
$url = str_replace('/index.php', '/
|
606 |
else
|
607 |
$url .= 'piwik.php';
|
608 |
}
|
@@ -1212,7 +1212,7 @@ class WP_Piwik {
|
|
1212 |
if (isset ( $result ['script'] ) && ! empty ( $result ['script'] )) {
|
1213 |
self::$settings->setOption ( 'tracking_code', $result ['script'], $blogId );
|
1214 |
self::$settings->setOption ( 'noscript_code', $result ['noscript'], $blogId );
|
1215 |
-
self::$settings->setGlobalOption ( 'proxy_url', $result ['proxy']
|
1216 |
}
|
1217 |
return $result;
|
1218 |
}
|
10 |
*/
|
11 |
class WP_Piwik {
|
12 |
|
13 |
+
private static $revisionId = 2021082201, $version = '1.0.26', $blog_id, $pluginBasename = NULL, $logger, $settings, $request, $optionsPageId;
|
14 |
|
15 |
/**
|
16 |
* Constructor class to configure and register all WP-Piwik components
|
198 |
private function installPlugin($isUpdate = false) {
|
199 |
self::$logger->log ( 'Running WP-Matomo installation' );
|
200 |
if (! $isUpdate)
|
201 |
+
$this->addNotice ( 'install', sprintf ( __ ( '%s %s installed.', 'wp-piwik' ), self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), self::$version ), __ ( 'Next you should connect to Matomo', 'wp-piwik' ) );
|
202 |
self::$settings->setGlobalOption ( 'revision', self::$revisionId );
|
203 |
self::$settings->setGlobalOption ( 'last_settings_update', time () );
|
204 |
}
|
232 |
}
|
233 |
}
|
234 |
if ((self::$settings->getGlobalOption('update_notice') == 'enabled') || ((self::$settings->getGlobalOption('update_notice') == 'script') && $isPatched))
|
235 |
+
$this->addNotice ( 'update', sprintf ( __ ( '%s updated to %s.', 'wp-piwik' ), self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), self::$version ), __ ( 'Please validate your configuration', 'wp-piwik' ) );
|
236 |
$this->installPlugin ( true );
|
237 |
}
|
238 |
|
384 |
}
|
385 |
}
|
386 |
$statsPage = new WP_Piwik\Admin\Statistics ( $this, self::$settings );
|
387 |
+
$this->statsPageId = add_dashboard_page ( __ ( 'Matomo Statistics', 'wp-piwik' ), self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), $cap, 'wp-piwik_stats', array (
|
388 |
$statsPage,
|
389 |
'show'
|
390 |
) );
|
392 |
}
|
393 |
if (! self::$settings->checkNetworkActivation ()) {
|
394 |
$optionsPage = new WP_Piwik\Admin\Settings ( $this, self::$settings );
|
395 |
+
self::$optionsPageId = add_options_page ( self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), 'activate_plugins', __FILE__, array (
|
396 |
$optionsPage,
|
397 |
'show'
|
398 |
) );
|
406 |
public function buildNetworkAdminMenu() {
|
407 |
if (self::isConfigured ()) {
|
408 |
$statsPage = new WP_Piwik\Admin\Network ( $this, self::$settings );
|
409 |
+
$this->statsPageId = add_dashboard_page ( __ ( 'Matomo Statistics', 'wp-piwik' ), self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), 'manage_sites', 'wp-piwik_stats', array (
|
410 |
$statsPage,
|
411 |
'show'
|
412 |
) );
|
413 |
$this->loadAdminStatsHeader ( $this->statsPageId, $statsPage );
|
414 |
}
|
415 |
$optionsPage = new WP_Piwik\Admin\Settings ( $this, self::$settings );
|
416 |
+
self::$optionsPageId = add_submenu_page ( 'settings.php', self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ), 'manage_sites', __FILE__, array (
|
417 |
$optionsPage,
|
418 |
'show'
|
419 |
) );
|
598 |
$posturl = get_permalink ( $post->ID );
|
599 |
$urlref = get_bloginfo ( 'rss2_url' );
|
600 |
if (self::$settings->getGlobalOption ( 'track_mode' ) == 'proxy')
|
601 |
+
$url = plugins_url ( 'wp-piwik' ) . '/proxy/matomo.php';
|
602 |
else {
|
603 |
$url = self::$settings->getGlobalOption ( 'piwik_url' );
|
604 |
if (substr($url, -10, 10) == '/index.php')
|
605 |
+
$url = str_replace('/index.php', '/matomo.php', $url);
|
606 |
else
|
607 |
$url .= 'piwik.php';
|
608 |
}
|
1212 |
if (isset ( $result ['script'] ) && ! empty ( $result ['script'] )) {
|
1213 |
self::$settings->setOption ( 'tracking_code', $result ['script'], $blogId );
|
1214 |
self::$settings->setOption ( 'noscript_code', $result ['noscript'], $blogId );
|
1215 |
+
self::$settings->setGlobalOption ( 'proxy_url', $result ['proxy'] );
|
1216 |
}
|
1217 |
return $result;
|
1218 |
}
|
classes/WP_Piwik/Admin/Network.php
CHANGED
@@ -10,7 +10,7 @@
|
|
10 |
|
11 |
public function printAdminScripts() {
|
12 |
wp_enqueue_script('wp-piwik', self::$wpPiwik->getPluginURL().'js/wp-piwik.js', array(), self::$wpPiwik->getPluginVersion(), true);
|
13 |
-
wp_enqueue_script ( 'wp-piwik-chartjs',
|
14 |
}
|
15 |
|
16 |
public function onLoad() {
|
10 |
|
11 |
public function printAdminScripts() {
|
12 |
wp_enqueue_script('wp-piwik', self::$wpPiwik->getPluginURL().'js/wp-piwik.js', array(), self::$wpPiwik->getPluginVersion(), true);
|
13 |
+
wp_enqueue_script ( 'wp-piwik-chartjs', self::$wpPiwik->getPluginURL() . 'js/chartjs/chart.min.js', "3.4.1" );
|
14 |
}
|
15 |
|
16 |
public function onLoad() {
|
classes/WP_Piwik/Admin/Settings.php
CHANGED
@@ -511,7 +511,7 @@ class Settings extends \WP_Piwik\Admin {
|
|
511 |
* @param string $addPluginName set to true to add the plugin name to the headline (default: false)
|
512 |
*/
|
513 |
private function getHeadline($order, $icon, $headline, $addPluginName = false) {
|
514 |
-
echo ($order > 0 ? "<h$order>" : '') . sprintf ( '<span class="dashicons dashicons-%s"></span> %s%s', $icon, ($addPluginName ? self::$settings->
|
515 |
}
|
516 |
|
517 |
/**
|
511 |
* @param string $addPluginName set to true to add the plugin name to the headline (default: false)
|
512 |
*/
|
513 |
private function getHeadline($order, $icon, $headline, $addPluginName = false) {
|
514 |
+
echo ($order > 0 ? "<h$order>" : '') . sprintf ( '<span class="dashicons dashicons-%s"></span> %s%s', $icon, ($addPluginName ? self::$settings->getNotEmptyGlobalOption ( 'plugin_display_name' ) . ' ' : ''), __ ( $headline, 'wp-piwik' ) ) . ($order > 0 ? "</h$order>" : '');
|
515 |
}
|
516 |
|
517 |
/**
|
classes/WP_Piwik/Settings.php
CHANGED
@@ -176,6 +176,17 @@ class Settings {
|
|
176 |
$this->settingsChanged = false;
|
177 |
}
|
178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
/**
|
180 |
* Get a global option's value
|
181 |
*
|
@@ -222,18 +233,23 @@ class Settings {
|
|
222 |
*
|
223 |
* @param string $key
|
224 |
* option key
|
225 |
-
* @param int $blogID
|
226 |
-
* blog ID (default: current blog)
|
227 |
* @param string $value
|
228 |
* new option value
|
|
|
|
|
229 |
*/
|
230 |
public function setOption($key, $value, $blogID = null) {
|
|
|
|
|
|
|
231 |
$this->settingsChanged = true;
|
232 |
self::$wpPiwik->log ( 'Changed option ' . $key . ': ' . $value );
|
233 |
-
if ($this->checkNetworkActivation ()
|
234 |
-
|
235 |
-
}
|
|
|
236 |
$this->settings [$key] = $value;
|
|
|
237 |
}
|
238 |
|
239 |
/**
|
@@ -369,7 +385,7 @@ class Settings {
|
|
369 |
if ($in ['track_mode'] == 'manually' || $in ['track_mode'] == 'disabled') {
|
370 |
$value = stripslashes ( $value );
|
371 |
if ($this->checkNetworkActivation ())
|
372 |
-
|
373 |
return $value;
|
374 |
}
|
375 |
/*$result = self::$wpPiwik->updateTrackingCode ();
|
176 |
$this->settingsChanged = false;
|
177 |
}
|
178 |
|
179 |
+
/**
|
180 |
+
* Get a global option's value which should not be empty
|
181 |
+
*
|
182 |
+
* @param string $key
|
183 |
+
* option key
|
184 |
+
* @return string option value
|
185 |
+
*/
|
186 |
+
public function getNotEmptyGlobalOption($key) {
|
187 |
+
return isset ( $this->globalSettings [$key] ) && !empty($this->globalSettings [$key]) ? $this->globalSettings [$key] : self::$defaultSettings ['globalSettings'] [$key];
|
188 |
+
}
|
189 |
+
|
190 |
/**
|
191 |
* Get a global option's value
|
192 |
*
|
233 |
*
|
234 |
* @param string $key
|
235 |
* option key
|
|
|
|
|
236 |
* @param string $value
|
237 |
* new option value
|
238 |
+
* @param int $blogID
|
239 |
+
* blog ID (default: current blog)
|
240 |
*/
|
241 |
public function setOption($key, $value, $blogID = null) {
|
242 |
+
if (empty( $blogID )) {
|
243 |
+
$blogID = get_current_blog_id();
|
244 |
+
}
|
245 |
$this->settingsChanged = true;
|
246 |
self::$wpPiwik->log ( 'Changed option ' . $key . ': ' . $value );
|
247 |
+
if ($this->checkNetworkActivation ()) {
|
248 |
+
update_blog_option ( $blogID, 'wp-piwik-'.$key, $value );
|
249 |
+
}
|
250 |
+
if ($blogID == get_current_blog_id()) {
|
251 |
$this->settings [$key] = $value;
|
252 |
+
}
|
253 |
}
|
254 |
|
255 |
/**
|
385 |
if ($in ['track_mode'] == 'manually' || $in ['track_mode'] == 'disabled') {
|
386 |
$value = stripslashes ( $value );
|
387 |
if ($this->checkNetworkActivation ())
|
388 |
+
update_site_option ( 'wp-piwik-manually', $value );
|
389 |
return $value;
|
390 |
}
|
391 |
/*$result = self::$wpPiwik->updateTrackingCode ();
|
classes/WP_Piwik/TrackingCode.php
CHANGED
@@ -52,14 +52,15 @@ class TrackingCode {
|
|
52 |
'matomo.php'
|
53 |
), 'js/index.php', $code );
|
54 |
elseif ($settings->getGlobalOption ( 'track_mode' ) == 'proxy') {
|
55 |
-
$code = str_replace ( 'piwik.js', '
|
56 |
$code = str_replace ( 'matomo.js', 'matomo.php', $code );
|
|
|
57 |
$proxy = str_replace ( array (
|
58 |
'https://',
|
59 |
'http://'
|
60 |
), '//', plugins_url ( 'wp-piwik' ) . '/proxy' ) . '/';
|
61 |
$code = preg_replace ( '/var u="([^"]*)";/', 'var u="' . $proxy . '"', $code );
|
62 |
-
$code = preg_replace ( '/img src="([^"]*)piwik.php/', 'img src="' . $proxy . '
|
63 |
$code = preg_replace ( '/img src="([^"]*)matomo.php/', 'img src="' . $proxy . 'matomo.php', $code );
|
64 |
}
|
65 |
if ($settings->getGlobalOption ( 'track_cdnurl' ) || $settings->getGlobalOption ( 'track_cdnurlssl' ))
|
52 |
'matomo.php'
|
53 |
), 'js/index.php', $code );
|
54 |
elseif ($settings->getGlobalOption ( 'track_mode' ) == 'proxy') {
|
55 |
+
$code = str_replace ( 'piwik.js', 'matomo.php', $code );
|
56 |
$code = str_replace ( 'matomo.js', 'matomo.php', $code );
|
57 |
+
$code = str_replace ( 'piwik.php', 'matomo.php', $code );
|
58 |
$proxy = str_replace ( array (
|
59 |
'https://',
|
60 |
'http://'
|
61 |
), '//', plugins_url ( 'wp-piwik' ) . '/proxy' ) . '/';
|
62 |
$code = preg_replace ( '/var u="([^"]*)";/', 'var u="' . $proxy . '"', $code );
|
63 |
+
$code = preg_replace ( '/img src="([^"]*)piwik.php/', 'img src="' . $proxy . 'matomo.php', $code );
|
64 |
$code = preg_replace ( '/img src="([^"]*)matomo.php/', 'img src="' . $proxy . 'matomo.php', $code );
|
65 |
}
|
66 |
if ($settings->getGlobalOption ( 'track_cdnurl' ) || $settings->getGlobalOption ( 'track_cdnurlssl' ))
|
classes/WP_Piwik/Widget/City.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
'period' => $timeSettings['period'],
|
16 |
'date' => $timeSettings['date']
|
17 |
);
|
18 |
-
$this->title = $prefix.__('
|
19 |
$this->method = 'UserCountry.getCity';
|
20 |
$this->context = 'normal';
|
21 |
wp_enqueue_script('wp-piwik', self::$wpPiwik->getPluginURL().'js/wp-piwik.js', array(), self::$wpPiwik->getPluginVersion(), true);
|
15 |
'period' => $timeSettings['period'],
|
16 |
'date' => $timeSettings['date']
|
17 |
);
|
18 |
+
$this->title = $prefix.__('Cities', 'wp-piwik').' ('.__($timeSettings['description'],'wp-piwik').')';
|
19 |
$this->method = 'UserCountry.getCity';
|
20 |
$this->context = 'normal';
|
21 |
wp_enqueue_script('wp-piwik', self::$wpPiwik->getPluginURL().'js/wp-piwik.js', array(), self::$wpPiwik->getPluginVersion(), true);
|
classes/WP_Piwik/Widget/Overview.php
CHANGED
@@ -58,7 +58,7 @@ class Overview extends \WP_Piwik\Widget
|
|
58 |
);
|
59 |
if (!in_array($this->parameter['date'], array('last30', 'last60', 'last90')))
|
60 |
array_push($tableBody, array(__('Time/visit', 'wp-piwik') . ':', $avgTime), array(__('Max. page views in one visit', 'wp-piwik') . ':', $this->value($response, 'max_actions')));
|
61 |
-
$tableFoot = (self::$settings->getGlobalOption('piwik_shortcut') ? array(__('Shortcut', 'wp-piwik') . ':', '<a href="' . self::$settings->getGlobalOption('piwik_url') . '">
|
62 |
$this->table($tableHead, $tableBody, $tableFoot);
|
63 |
}
|
64 |
}
|
58 |
);
|
59 |
if (!in_array($this->parameter['date'], array('last30', 'last60', 'last90')))
|
60 |
array_push($tableBody, array(__('Time/visit', 'wp-piwik') . ':', $avgTime), array(__('Max. page views in one visit', 'wp-piwik') . ':', $this->value($response, 'max_actions')));
|
61 |
+
$tableFoot = (self::$settings->getGlobalOption('piwik_shortcut') ? array(__('Shortcut', 'wp-piwik') . ':', '<a href="' . self::$settings->getGlobalOption('piwik_url') . '" target="_BLANK">Matomo</a>' . (isset($aryConf['inline']) && $aryConf['inline'] ? ' - <a href="?page=wp-piwik_stats">WP-Piwik</a>' : '')) : null);
|
62 |
$this->table($tableHead, $tableBody, $tableFoot);
|
63 |
}
|
64 |
}
|
proxy/piwik.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once("matomo.php");
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
|
3 |
Contributors: Braekling
|
4 |
Requires at least: 5.0
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 1.0.
|
7 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6046779
|
8 |
Tags: matomo, tracking, statistics, stats, analytics
|
9 |
|
@@ -17,13 +17,13 @@ This plugin uses the Matomo API to show your Matomo statistics in your WordPress
|
|
17 |
|
18 |
To use this plugin the Matomo web analytics application is required. If you do not already have a Matomo setup (e.g., provided by your web hosting service), you have two simple options: use either a [self-hosted Matomo](http://matomo.org/) or a [cloud-hosted Matomo by InnoCraft](https://www.innocraft.cloud/?pk_campaign=WP-Piwik).
|
19 |
|
20 |
-
**Requirements:** PHP 7.0 (or higher), WordPress 5.0 (or higher), Matomo
|
21 |
|
22 |
**Languages:** English, Albanian, Chinese, Dutch, French, German, Greek, Hungarian, Italian, Polish, Portuguese (Brazil). Partially supported: Azerbaijani, Belarusian, Hindi, Lithuanian, Luxembourgish, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Turkish, Ukrainian
|
23 |
|
24 |
= What is Matomo? =
|
25 |
|
26 |
-
[youtube https://youtu.be/
|
27 |
[Learn more.](https://matomo.org/what-is-matomo/)
|
28 |
|
29 |
= First steps =
|
@@ -143,6 +143,15 @@ Add WP-Matomo to your /wp-content/plugins folder and enable it as [Network Plugi
|
|
143 |
|
144 |
== Changelog ==
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
= 1.0.25 =
|
147 |
* Replace jqplot and jquery.sparklines with [Chart.js](https://www.chartjs.org)
|
148 |
* Allow to show overview stats for last 60 and 90 days
|
2 |
|
3 |
Contributors: Braekling
|
4 |
Requires at least: 5.0
|
5 |
+
Tested up to: 5.8
|
6 |
+
Stable tag: 1.0.26
|
7 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6046779
|
8 |
Tags: matomo, tracking, statistics, stats, analytics
|
9 |
|
17 |
|
18 |
To use this plugin the Matomo web analytics application is required. If you do not already have a Matomo setup (e.g., provided by your web hosting service), you have two simple options: use either a [self-hosted Matomo](http://matomo.org/) or a [cloud-hosted Matomo by InnoCraft](https://www.innocraft.cloud/?pk_campaign=WP-Piwik).
|
19 |
|
20 |
+
**Requirements:** PHP 7.0 (or higher), WordPress 5.0 (or higher), Matomo 4.0 (or higher)
|
21 |
|
22 |
**Languages:** English, Albanian, Chinese, Dutch, French, German, Greek, Hungarian, Italian, Polish, Portuguese (Brazil). Partially supported: Azerbaijani, Belarusian, Hindi, Lithuanian, Luxembourgish, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Turkish, Ukrainian
|
23 |
|
24 |
= What is Matomo? =
|
25 |
|
26 |
+
[youtube https://youtu.be/Qc2kooLNDiU]
|
27 |
[Learn more.](https://matomo.org/what-is-matomo/)
|
28 |
|
29 |
= First steps =
|
143 |
|
144 |
== Changelog ==
|
145 |
|
146 |
+
= 1.0.26 =
|
147 |
+
* Fix feed tracking via proxy script (thanks to nicobilliotte, [details](https://github.com/braekling/WP-Matomo/pull/92))
|
148 |
+
* Add piwik.php proxy script wrapper to make sure proxy tracking codes continue working if piwik.php is used
|
149 |
+
* Fix for stalled blog options on network activation (thanks to ulkoalex, [details](https://github.com/braekling/WP-Matomo/pull/94))
|
150 |
+
* Fix wrong title on city statistics (thanks to ulkoalex, [details](https://github.com/braekling/WP-Matomo/pull/95))
|
151 |
+
* [Fix "call to undefined method" error on network admin](https://wordpress.org/support/topic/fatal-error-call-to-undefined-method-wp_piwikadminnetworkgetpluginurl/)
|
152 |
+
* Do not allow to set empty WP-Matomo display name
|
153 |
+
* Rename Piwik link on dashboard widget to Matomo
|
154 |
+
|
155 |
= 1.0.25 =
|
156 |
* Replace jqplot and jquery.sparklines with [Chart.js](https://www.chartjs.org)
|
157 |
* Allow to show overview stats for last 60 and 90 days
|
wp-piwik.php
CHANGED
@@ -6,7 +6,7 @@ Plugin URI: http://wordpress.org/extend/plugins/wp-piwik/
|
|
6 |
|
7 |
Description: Adds Matomo statistics to your WordPress dashboard and is also able to add the Matomo Tracking Code to your blog.
|
8 |
|
9 |
-
Version: 1.0.
|
10 |
Author: André Bräkling
|
11 |
Author URI: https://www.braekling.de
|
12 |
Text Domain: wp-piwik
|
6 |
|
7 |
Description: Adds Matomo statistics to your WordPress dashboard and is also able to add the Matomo Tracking Code to your blog.
|
8 |
|
9 |
+
Version: 1.0.26
|
10 |
Author: André Bräkling
|
11 |
Author URI: https://www.braekling.de
|
12 |
Text Domain: wp-piwik
|