{"id":361952,"date":"2026-09-02T21:04:19","date_gmt":"2026-09-02T21:04:19","guid":{"rendered":"https:\/\/cn.wordpress.org\/plugins\/ebrao-globe-statistics\/"},"modified":"2026-09-02T21:03:58","modified_gmt":"2026-09-02T21:03:58","slug":"ebrao-globe-statistics","status":"publish","type":"plugin","link":"https:\/\/mg.wordpress.org\/plugins\/ebrao-globe-statistics\/","author":13225539,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.2","stable_tag":"3.0.2","tested":"7.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"ebrao_globe_statistics","header_author":"ArtGui","header_description":"Displays anonymous country visit statistics on an interactive globe.","assets_banners_color":"143748","last_updated":"2026-09-02 21:03:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.2":{"tag":"3.0.2","author":"mgworlds","date":"2026-09-02 21:03:58","revision":3678671}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3678671,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3678671,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3678671,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3678671,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3678671,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3678671,"resolution":"1","location":"assets","locale":"","width":1600,"height":1000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3678671,"resolution":"2","location":"assets","locale":"","width":1600,"height":1000}},"screenshots":{"1":"Interactive globe displayed on a public page with anonymous country visit markers and flight paths.","2":"Visitor Globe settings page for customizing map colors, rotation, visitor dots, and the focus country."}},"plugin_section":[],"plugin_tags":[232,54071,521,871,18208],"plugin_category":[36],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-361952","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-globe","plugin_tags-statistics","plugin_tags-visitors","plugin_tags-visualization","plugin_category-analytics","plugin_committers-mgworlds"],"banners":{"banner":"https:\/\/ps.w.org\/ebrao-globe-statistics\/assets\/banner-772x250.png?rev=3678671","banner_2x":"https:\/\/ps.w.org\/ebrao-globe-statistics\/assets\/banner-1544x500.png?rev=3678671","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/ebrao-globe-statistics\/assets\/icon.svg?rev=3678671","icon":"https:\/\/ps.w.org\/ebrao-globe-statistics\/assets\/icon.svg?rev=3678671","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ebrao-globe-statistics\/assets\/screenshot-1.png?rev=3678671","caption":"Interactive globe displayed on a public page with anonymous country visit markers and flight paths."},{"src":"https:\/\/ps.w.org\/ebrao-globe-statistics\/assets\/screenshot-2.png?rev=3678671","caption":"Visitor Globe settings page for customizing map colors, rotation, visitor dots, and the focus country."}],"raw_content":"<!--section=description-->\n<p>ebrao_globe_statistics records anonymous daily visit counts by country and displays the results on an interactive globe.<\/p>\n\n<p>Features include:<\/p>\n\n<ul>\n<li>Interactive rotating globe with drag controls.<\/li>\n<li>Configurable colors, grid density, rotation speed, focus country, and flight paths.<\/li>\n<li>Adjustable reporting period through shortcode attributes.<\/li>\n<li>Standalone aggregate statistics with no dependency on another analytics plugin.<\/li>\n<li>Locally bundled visualization libraries and map data.<\/li>\n<\/ul>\n\n<p>The plugin stores only the date, a two-letter country code, and an aggregate counter. It does not store IP addresses. Country detection requires one of these server request headers:<\/p>\n\n<ul>\n<li><code>CF-IPCountry<\/code> (Cloudflare)<\/li>\n<li><code>X-Country-Code<\/code><\/li>\n<li><code>GEOIP_COUNTRY_CODE<\/code><\/li>\n<\/ul>\n\n<p>Use <code>[visitor_globe]<\/code> to display the globe.<\/p>\n\n<p>Optional shortcode attributes:<\/p>\n\n<ul>\n<li><code>height<\/code>: Globe height in pixels. The default is <code>540<\/code>.<\/li>\n<li><code>days<\/code>: Number of recent calendar days to include. The default is <code>30<\/code>.<\/li>\n<\/ul>\n\n<p>Example:<\/p>\n\n<pre><code>[visitor_globe height=\"540\" days=\"30\"]\n<\/code><\/pre>\n\n<p>The plugin bundles D3, TopoJSON Client, and World Atlas data locally. It does not contact a third-party CDN when rendering the globe.<\/p>\n\n<p>Third-party source code:<\/p>\n\n<ul>\n<li>D3: https:\/\/github.com\/d3\/d3<\/li>\n<li>TopoJSON Client: https:\/\/github.com\/topojson\/topojson-client<\/li>\n<li>World Atlas: https:\/\/github.com\/topojson\/world-atlas<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin does not send visitor data to the plugin author or any external service. It does not store IP addresses, user agents, URLs, or user identifiers. A request to the site's own WordPress REST API increments an aggregate counter containing only the WordPress-site date and the country code supplied by the host. Logged-in users are excluded. Browser session storage is used to avoid duplicate counts during the same browser session.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>ebrao_globe_statistics<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install the ZIP in Plugins &gt; Add New.<\/li>\n<li>Activate ebrao_globe_statistics.<\/li>\n<li>Confirm that Cloudflare or your web server supplies one of the supported country-code headers.<\/li>\n<li>Add <code>[visitor_globe]<\/code> to a page or post.<\/li>\n<li>Customize the display under Statistics Visualization &gt; Global Globe.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20store%20ip%20addresses%3F\"><h3>Does the plugin store IP addresses?<\/h3><\/dt>\n<dd><p>No. It stores only daily aggregate counts by country code.<\/p><\/dd>\n<dt id=\"why%20is%20no%20visit%20data%20appearing%3F\"><h3>Why is no visit data appearing?<\/h3><\/dt>\n<dd><p>Your server must supply a supported two-letter country-code request header. Logged-in users and wp-admin requests are not counted. A browser session is counted once until its session storage is cleared.<\/p><\/dd>\n<dt id=\"does%20it%20require%20another%20statistics%20plugin%3F\"><h3>Does it require another statistics plugin?<\/h3><\/dt>\n<dd><p>No. It is fully standalone and does not read another plugin's tables or functions.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>Added the plugin owner, moqiangshou, to the contributors list.<\/li>\n<li>Loaded all JavaScript and CSS through the WordPress enqueue APIs.<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Fixed WordPress content filtering encoding JavaScript logical operators, which prevented the globe from rendering.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Removed the Ultimate Behavior Tracker data-source integration and selector.<\/li>\n<li>Removed the China heatmap menu, shortcode, scripts, and dashboard widget.<\/li>\n<li>Kept only standalone anonymous country-level visit statistics.<\/li>\n<li>Bundled visualization libraries and map data locally instead of loading runtime CDN assets.<\/li>\n<li>Aligned stored visit dates with the WordPress site timezone.<\/li>\n<li>Added complete uninstall cleanup.<\/li>\n<\/ul>","raw_excerpt":"Display privacy-friendly country visit statistics on an interactive, customizable globe.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/361952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=361952"}],"author":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mgworlds"}],"wp:attachment":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=361952"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=361952"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=361952"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=361952"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=361952"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=361952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}