{"id":377035,"date":"2026-09-30T09:27:19","date_gmt":"2026-09-30T09:27:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sunnytracker-widgets\/"},"modified":"2026-09-30T12:45:11","modified_gmt":"2026-09-30T12:45:11","slug":"sunnytracker-widgets","status":"publish","type":"plugin","link":"https:\/\/bcc.wordpress.org\/plugins\/sunnytracker-widgets\/","author":23575157,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.2","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"SunnyTracker Widgets","header_author":"SunnyTracker","header_description":"Sunrise, sunset, golden hour, moon phase and eclipse countdowns for 175,000 cities \u2013 as blocks, shortcodes and sidebar widgets.","assets_banners_color":"9279ab","last_updated":"2026-09-30 12:45:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.sunnytracker.com\/widgets","header_author_uri":"https:\/\/www.sunnytracker.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"andrelyonberg","date":"2026-09-30 12:45:11","revision":3721250}},"upgrade_notice":{"1.1.0":"<p>Blocks, text times, a sidebar widget and a settings page.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3720804,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3720804,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3720804,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3720804,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"sunnytracker\/times":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"sunnytracker\/times","version":"1.1.0","title":"Sun & moon times","category":"widgets","icon":"calendar-alt","description":"Today's sunrise, sunset, twilight, golden hour, moonrise and moon phase for a city or coordinates \u2013 as text in your theme's style.","keywords":["sunrise","sunset","twilight","moon phase","day length"],"textdomain":"sunnytracker-widgets","attributes":{"city":{"type":"string","default":""},"cityName":{"type":"string","default":""},"lat":{"type":"string","default":""},"lon":{"type":"string","default":""},"tz":{"type":"string","default":""},"name":{"type":"string","default":""},"date":{"type":"string","default":"today"},"show":{"type":"array","items":{"type":"string"},"default":["sunrise","sunset","day_length","golden_hour_evening","moon_phase"]},"layout":{"type":"string","default":"list"},"title":{"type":"string","default":"yes"},"credit":{"type":"string","default":""}},"supports":{"html":false,"color":{"text":true,"background":true,"link":true},"typography":{"fontSize":true},"spacing":{"margin":true,"padding":true}},"editorScript":"sunnytracker-widgets-editor","style":"sunnytracker-widgets"},"sunnytracker\/widget":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"sunnytracker\/widget","version":"1.1.0","title":"SunnyTracker widget","category":"widgets","icon":"clock","description":"Sunrise & sunset, moon phase, golden hour or an eclipse countdown for a city \u2013 as a small card.","keywords":["sunrise","sunset","moon","golden hour","eclipse"],"textdomain":"sunnytracker-widgets","attributes":{"city":{"type":"string","default":""},"cityName":{"type":"string","default":""},"type":{"type":"string","default":"sunrise"},"theme":{"type":"string","default":""},"size":{"type":"string","default":"default"},"lang":{"type":"string","default":""},"accent":{"type":"string","default":""},"credit":{"type":"string","default":""}},"supports":{"html":false,"align":["left","center","right"],"spacing":{"margin":true}},"editorScript":"sunnytracker-widgets-editor"}},"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3720804,"resolution":"1","location":"assets","locale":"","width":1280,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3720804,"resolution":"2","location":"assets","locale":"","width":1400,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3720804,"resolution":"3","location":"assets","locale":"","width":1400,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3720804,"resolution":"4","location":"assets","locale":"","width":1280,"height":1100}},"screenshots":{"1":"A campsite page with the \"Sun &amp; moon times\" block for its coordinates and two cards: golden hour and moon phase.","2":"The \"Sun &amp; moon times\" block in the editor: place, day and the fields to show.","3":"The \"SunnyTracker widget\" block with city search, widget type, size, colours and language.","4":"Settings \u2192 SunnyTracker: defaults for the whole site, the optional source link and a preview of the times."}},"plugin_section":[],"plugin_tags":[204703,283635,27463,9185,9186],"plugin_category":[],"plugin_contributors":[283636],"plugin_business_model":[],"class_list":["post-377035","plugin","type-plugin","status-publish","hentry","plugin_tags-eclipse","plugin_tags-golden-hour","plugin_tags-moon-phase","plugin_tags-sunrise","plugin_tags-sunset","plugin_contributors-andrelyonberg","plugin_committers-andrelyonberg"],"banners":{"banner":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/banner-772x250.png?rev=3720804","banner_2x":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/banner-1544x500.png?rev=3720804","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/icon-128x128.png?rev=3720804","icon_2x":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/icon-256x256.png?rev=3720804","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/screenshot-1.png?rev=3720804","caption":"A campsite page with the \"Sun &amp; moon times\" block for its coordinates and two cards: golden hour and moon phase."},{"src":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/screenshot-2.png?rev=3720804","caption":"The \"Sun &amp; moon times\" block in the editor: place, day and the fields to show."},{"src":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/screenshot-3.png?rev=3720804","caption":"The \"SunnyTracker widget\" block with city search, widget type, size, colours and language."},{"src":"https:\/\/ps.w.org\/sunnytracker-widgets\/assets\/screenshot-4.png?rev=3720804","caption":"Settings \u2192 SunnyTracker: defaults for the whole site, the optional source link and a preview of the times."}],"raw_content":"<!--section=description-->\n<p>Show your visitors when the sun rises and sets \u2013 on a campsite, hotel, wedding venue, sailing club, fishing or photography blog. Everything updates itself every day.<\/p>\n\n<p><strong>Two blocks for the block editor<\/strong><\/p>\n\n<ul>\n<li><strong>SunnyTracker widget<\/strong> \u2013 a small card: sunrise &amp; sunset with day length, moon phase with moonrise and moonset, golden hour for photographers, or a countdown to the next solar or lunar eclipse. Light, dark or following the visitor's mode, three sizes, ten languages, your accent colour. Try them all on <a href=\"https:\/\/www.sunnytracker.com\/widgets\">sunnytracker.com\/widgets<\/a>.<\/li>\n<li><strong>Sun &amp; moon times<\/strong> \u2013 the day's times as plain text in your theme's fonts and colours: sunrise, sunset, solar noon, sun height at noon, civil, nautical and astronomical twilight, blue and golden hour, day length, moonrise, moonset and moon phase. Pick the fields, list or table, today or tomorrow. Search engines read it like the rest of your page.<\/li>\n<\/ul>\n\n<p>Both blocks have a city search built in. For a place outside town \u2013 a campsite, a beach, a venue \u2013 use coordinates instead.<\/p>\n\n<p><strong>Shortcodes<\/strong> for the classic editor, page builders and text widgets, including a single time inside a sentence: \u201cSunset tonight: <code>[sunnytracker_time city=\"hamburg\" field=\"sunset\"]<\/code>\u201d.<\/p>\n\n<p><strong>Sidebar widget<\/strong> for classic themes under Appearance \u2192 Widgets.<\/p>\n\n<p><strong>Settings \u2192 SunnyTracker<\/strong> sets the default city, language and colours for the whole site.<\/p>\n\n<p>Times are calculated by <a href=\"https:\/\/www.sunnytracker.com\">SunnyTracker<\/a> with the NOAA solar algorithm (refraction included) and Meeus lunar theory. Polar night and midnight sun are handled. No account and no API key needed.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<p>Card:<\/p>\n\n<pre><code>[sunnytracker city=\"berlin\" type=\"golden-hour\" theme=\"dark\" size=\"large\" lang=\"de\" accent=\"3b82f6\"]\n<\/code><\/pre>\n\n<ul>\n<li><code>city<\/code> \u2013 the city's slug as in its SunnyTracker address (sunnytracker.com\/new-york \u2192 <code>new-york<\/code>)<\/li>\n<li><code>type<\/code> \u2013 <code>sunrise<\/code> (default), <code>moon<\/code>, <code>golden-hour<\/code>, <code>solar-eclipse<\/code>, <code>lunar-eclipse<\/code><\/li>\n<li><code>theme<\/code> \u2013 <code>light<\/code>, <code>dark<\/code>, <code>auto<\/code><\/li>\n<li><code>size<\/code> \u2013 <code>compact<\/code>, <code>default<\/code>, <code>large<\/code><\/li>\n<li><code>lang<\/code> \u2013 <code>en<\/code>, <code>de<\/code>, <code>fr<\/code>, <code>es<\/code>, <code>it<\/code>, <code>pl<\/code>, <code>nl<\/code>, <code>pt<\/code>, <code>ja<\/code>, <code>zh<\/code><\/li>\n<li><code>accent<\/code> \u2013 colour as hex without #<\/li>\n<\/ul>\n\n<p>Times as text:<\/p>\n\n<pre><code>[sunnytracker_times city=\"berlin\" show=\"sunrise,sunset,day_length,moon_phase\" layout=\"table\" date=\"tomorrow\"]\n\n[sunnytracker_times lat=\"54.18\" lon=\"7.89\" tz=\"Europe\/Berlin\" name=\"Heligoland harbour\"]\n<\/code><\/pre>\n\n<ul>\n<li><code>show<\/code> \u2013 any of <code>astronomical_dawn<\/code>, <code>nautical_dawn<\/code>, <code>civil_dawn<\/code>, <code>blue_hour_morning<\/code>, <code>golden_hour_morning<\/code>, <code>sunrise<\/code>, <code>solar_noon<\/code>, <code>noon_altitude<\/code>, <code>sunset<\/code>, <code>golden_hour_evening<\/code>, <code>blue_hour_evening<\/code>, <code>civil_dusk<\/code>, <code>nautical_dusk<\/code>, <code>astronomical_dusk<\/code>, <code>day_length<\/code>, <code>moonrise<\/code>, <code>moonset<\/code>, <code>moon_phase<\/code><\/li>\n<li><code>layout<\/code> \u2013 <code>list<\/code> (default) or <code>table<\/code><\/li>\n<li><code>date<\/code> \u2013 <code>today<\/code> (default), <code>tomorrow<\/code> or <code>YYYY-MM-DD<\/code><\/li>\n<li><code>title<\/code> \u2013 <code>yes<\/code> (default) or <code>no<\/code> for the heading with place and date<\/li>\n<li><code>lat<\/code>, <code>lon<\/code>, <code>tz<\/code> \u2013 coordinates and time zone instead of a city; <code>name<\/code> \u2013 the place name for the heading<\/li>\n<\/ul>\n\n<p>A single value:<\/p>\n\n<pre><code>[sunnytracker_time city=\"berlin\" field=\"sunset\" date=\"tomorrow\"]\n<\/code><\/pre>\n\n<p>All shortcodes and blocks take <code>credit=\"yes\"<\/code> or <code>credit=\"no\"<\/code> for the source link; without it the site-wide setting applies.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on SunnyTracker (<a href=\"https:\/\/www.sunnytracker.com\">www.sunnytracker.com<\/a>), which computes the sun and moon times. Without it the plugin shows nothing.<\/p>\n\n<ul>\n<li><strong>Cards<\/strong> (block \"SunnyTracker widget\", shortcode <code>[sunnytracker]<\/code>, sidebar card): the visitor's browser loads the card as an iframe from www.sunnytracker.com each time a page with it is viewed. Like any web request this sends the visitor's IP address, browser user agent and the address of the page it is embedded in, plus the chosen city and display options. SunnyTracker counts these views anonymously; it sets no cookies and stores nothing on the visitor's device.<\/li>\n<li><strong>Text times<\/strong> (block \"Sun &amp; moon times\", shortcodes <code>[sunnytracker_times]<\/code> and <code>[sunnytracker_time]<\/code>): your web server requests https:\/\/www.sunnytracker.com\/api\/v2\/sun with the chosen city or coordinates, time zone and date, at most once per place and day (answers are cached). Nothing about your visitors is sent. The request carries your site's address in the user agent.<\/li>\n<li><strong>City search<\/strong> in the block editor: your web server sends the typed search text to https:\/\/www.sunnytracker.com\/api\/v2\/cities. Only logged-in editors can use it.<\/li>\n<\/ul>\n\n<p>SunnyTracker: <a href=\"https:\/\/www.sunnytracker.com\/privacy\">privacy policy<\/a> \u2013 <a href=\"https:\/\/www.sunnytracker.com\/imprint\">legal notice<\/a> \u2013 <a href=\"https:\/\/www.sunnytracker.com\/developers\">API documentation<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin under Plugins \u2192 Add New and activate it.<\/li>\n<li>Optional: set your city and language under Settings \u2192 SunnyTracker.<\/li>\n<li>Add the block \"SunnyTracker widget\" or \"Sun &amp; moon times\" to a post or page \u2013 or use a shortcode.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20find%20the%20slug%20of%20my%20city%3F\"><h3>How do I find the slug of my city?<\/h3><\/dt>\n<dd><p>The blocks have a city search. For shortcodes, search for your city on <a href=\"https:\/\/www.sunnytracker.com\">sunnytracker.com<\/a> and take the last part of the address, e.g. <code>new-york<\/code> from sunnytracker.com\/new-york.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20add%20a%20link%20to%20my%20site%3F\"><h3>Does the plugin add a link to my site?<\/h3><\/dt>\n<dd><p>Only if you want it: a small \"SunnyTracker\" source link can be switched on under Settings \u2192 SunnyTracker or per block and shortcode. It is off by default.<\/p><\/dd>\n<dt id=\"does%20it%20set%20cookies%20or%20slow%20down%20my%20pages%3F\"><h3>Does it set cookies or slow down my pages?<\/h3><\/dt>\n<dd><p>No cookies. The text times are fetched on your server once per place and day and then cached, so your pages do not wait for SunnyTracker. The cards load lazily as iframes. Details under \"External services\".<\/p><\/dd>\n<dt id=\"the%20card%20is%20cut%20off%20in%20a%20narrow%20column\"><h3>The card is cut off in a narrow column<\/h3><\/dt>\n<dd><p>The cards have a fixed width: 280 px (compact), 320 px (default) or 380 px (large). In a narrow column or sidebar choose \"Compact\", or use the \"Sun &amp; moon times\" block, which fits any width.<\/p><\/dd>\n<dt id=\"what%20if%20sunnytracker%20cannot%20be%20reached%3F\"><h3>What if SunnyTracker cannot be reached?<\/h3><\/dt>\n<dd><p>Visitors see nothing where the times would be; logged-in editors see a short note. The plugin tries again after ten minutes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New block \"Sun &amp; moon times\" and shortcodes <code>[sunnytracker_times]<\/code> \/ <code>[sunnytracker_time]<\/code>: the day's times as text \u2013 sunrise, sunset, twilight, golden and blue hour, day length, moonrise, moonset, moon phase \u2013 for a city or coordinates.<\/li>\n<li>New block \"SunnyTracker widget\" with city search and live preview.<\/li>\n<li>New sidebar widget for classic themes.<\/li>\n<li>New settings page for site-wide defaults; the language follows the site language.<\/li>\n<li>The source link is now opt-in, site-wide or per widget.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Sunrise, sunset, twilight, golden hour, moon phase and eclipse countdowns for 175,000 cities \u2013 as blocks, shortcodes and sidebar widgets.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377035"}],"author":[{"embeddable":true,"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/andrelyonberg"}],"wp:attachment":[{"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377035"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377035"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377035"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377035"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377035"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bcc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}