{"id":291590,"date":"2026-03-30T18:26:00","date_gmt":"2026-03-30T18:26:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vsforge-stock-market-widgets-lite\/"},"modified":"2026-03-30T18:31:52","modified_gmt":"2026-03-30T18:31:52","slug":"vsforge-stock-market-widgets-lite","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/vsforge-stock-market-widgets-lite\/","author":15535910,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"6.9.4","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"VSForge Stock Market Widgets Lite","header_author":"VSForge | Vitaliy Semenko","header_description":"Display live stock market quotes with five layouts: single card, sparkline, horizontal ticker, vertical list and card grid. BYOK \u2014 uses your own free Finnhub API key.","assets_banners_color":"4c5268","last_updated":"2026-03-30 18:31:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/vsforge-stock-market-widgets-lite","header_author_uri":"https:\/\/profiles.wordpress.org\/vitaliysemenko\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":239,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"vitaliysemenko","date":"2026-03-30 18:31:52"}},"upgrade_notice":{"0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3494864,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3494864,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3494864,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3494864,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"vsforge-smw\/ticker":{"$schema":"https:\/\/schemas.wp.org\/wp-6.9\/block.json","apiVersion":3,"name":"vsforge-smw\/ticker","version":"0.1.0","title":"Stock Market Ticker","description":"Display live stock quotes in a ticker widget.","category":"widgets","icon":"chart-line","textdomain":"vsforge-stock-market-widgets-lite","editorScript":"vsforge-smw-block","editorStyle":"vsforge-smw-ticker","attributes":{"symbols":{"type":"string","default":""},"layout":{"type":"string","default":"horizontal"},"displayMode":{"type":"string","default":"ticker"},"scrollMode":{"type":"string","default":"static"},"darkMode":{"type":"boolean","default":false}}}},"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3494864,"resolution":"1","location":"assets","locale":"","width":1340,"height":1734},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3494864,"resolution":"2","location":"assets","locale":"","width":1386,"height":1772},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3494864,"resolution":"3","location":"assets","locale":"","width":422,"height":720},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3494864,"resolution":"4","location":"assets","locale":"","width":560,"height":1272},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3494864,"resolution":"5","location":"assets","locale":"","width":2098,"height":1652},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3494864,"resolution":"6","location":"assets","locale":"","width":1274,"height":1106}},"screenshots":{"1":"All five layouts on a live page: vertical list, card grid, horizontal ticker, sparkline card and single card.","2":"Live preview of all layouts inside the Gutenberg block editor.","3":"Finding the Stock Market Ticker block in the Gutenberg block inserter.","4":"Gutenberg block sidebar settings panel with layout, display, scroll and theme controls.","5":"Admin settings page \u2014 API keys, layout picker and global defaults.","6":"Admin settings page \u2014 How to Use section with shortcode reference table."}},"plugin_section":[],"plugin_tags":[15800,259036,22194,31073,22193],"plugin_category":[],"plugin_contributors":[259037],"plugin_business_model":[],"class_list":["post-291590","plugin","type-plugin","status-publish","hentry","plugin_tags-finance","plugin_tags-live-stock-prices","plugin_tags-stock-market","plugin_tags-stock-quotes","plugin_tags-stock-ticker","plugin_contributors-vitaliysemenko","plugin_committers-vitaliysemenko"],"banners":{"banner":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/banner-772x250.png?rev=3494864","banner_2x":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/banner-1544x500.png?rev=3494864","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/icon-128x128.png?rev=3494864","icon_2x":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/icon-256x256.png?rev=3494864","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/screenshot-1.png?rev=3494864","caption":"All five layouts on a live page: vertical list, card grid, horizontal ticker, sparkline card and single card."},{"src":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/screenshot-2.png?rev=3494864","caption":"Live preview of all layouts inside the Gutenberg block editor."},{"src":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/screenshot-3.png?rev=3494864","caption":"Finding the Stock Market Ticker block in the Gutenberg block inserter."},{"src":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/screenshot-4.png?rev=3494864","caption":"Gutenberg block sidebar settings panel with layout, display, scroll and theme controls."},{"src":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/screenshot-5.png?rev=3494864","caption":"Admin settings page \u2014 API keys, layout picker and global defaults."},{"src":"https:\/\/ps.w.org\/vsforge-stock-market-widgets-lite\/assets\/screenshot-6.png?rev=3494864","caption":"Admin settings page \u2014 How to Use section with shortcode reference table."}],"raw_content":"<!--section=description-->\n<p><strong>VSForge Stock Market Widgets Lite<\/strong> lets you embed real-time stock quotes anywhere on your WordPress site using a simple shortcode or the built-in Gutenberg block. Bring your own free <a href=\"https:\/\/finnhub.io\/register\">Finnhub<\/a> API key \u2014 no subscription required.<\/p>\n\n<h4>Five display layouts<\/h4>\n\n<ul>\n<li><strong>Single Card<\/strong> \u2014 one symbol as a prominent price card<\/li>\n<li><strong>Sparkline<\/strong> \u2014 price card with a 30-day trend mini-chart<\/li>\n<li><strong>Horizontal Ticker<\/strong> \u2014 all symbols in a classic scrollable ticker band (static or auto-scroll)<\/li>\n<li><strong>Vertical List<\/strong> \u2014 financial-table style with logo, name, price and change columns<\/li>\n<li><strong>Card Grid<\/strong> \u2014 responsive grid of individual price cards<\/li>\n<\/ul>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li>Powered by the <strong>Finnhub<\/strong> free API (60 requests\/minute) \u2014 <a href=\"https:\/\/finnhub.io\/register\">get a free key<\/a><\/li>\n<li>Optional company <strong>logos<\/strong> via the free <a href=\"https:\/\/api-ninjas.com\/register\">API Ninjas<\/a> logo endpoint<\/li>\n<li><strong>Dark theme<\/strong> support \u2014 toggle globally or per widget<\/li>\n<li>Shortcode <code>[vsforge_smw_ticker]<\/code> with per-widget overrides for layout, symbols, display, scroll and theme<\/li>\n<li>Native <strong>Gutenberg block<\/strong> with live preview in the editor<\/li>\n<li>Translations included for <strong>English, Spanish, French, German, Portuguese (Brazil), Japanese, Russian<\/strong><\/li>\n<li>Lightweight \u2014 no jQuery dependency, vanilla JS only<\/li>\n<li>Results cached with WordPress transients (5 min for quotes, 1 h for sparklines, 7 days for logos)<\/li>\n<\/ul>\n\n<h4>Shortcode examples<\/h4>\n\n<pre><code>[vsforge_smw_ticker]\n<\/code><\/pre>\n\n<p>Uses the symbols and layout configured in Settings \u2192 Stock Market Widgets.<\/p>\n\n<pre><code>[vsforge_smw_ticker symbols=\"AAPL,MSFT,GOOGL,TSLA\"]\n<\/code><\/pre>\n\n<p>Override the symbols for this widget only.<\/p>\n\n<pre><code>[vsforge_smw_ticker layout=\"grid\" symbols=\"AAPL,MSFT,AMZN,GOOGL,META,TSLA\"]\n<\/code><\/pre>\n\n<p>Card grid with custom symbols.<\/p>\n\n<pre><code>[vsforge_smw_ticker layout=\"sparkline\" symbols=\"AAPL\"]\n<\/code><\/pre>\n\n<p>Sparkline card for a single symbol.<\/p>\n\n<pre><code>[vsforge_smw_ticker layout=\"horizontal\" scroll=\"auto\" dark=\"1\"]\n<\/code><\/pre>\n\n<p>Auto-scrolling horizontal ticker with dark theme.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>This plugin makes server-side requests to the following external services. No personal data is transmitted.<\/p>\n\n<ul>\n<li><strong>finnhub.io<\/strong> \u2014 real-time stock quotes (required). <a href=\"https:\/\/finnhub.io\/privacy-policy\">Privacy Policy<\/a><\/li>\n<li><strong>api.api-ninjas.com<\/strong> \u2014 company logos (optional, only if an API Ninjas key is configured). <a href=\"https:\/\/api-ninjas.com\/privacy\">Privacy Policy<\/a><\/li>\n<li><strong>query1.finance.yahoo.com<\/strong> \u2014 historical closing prices for the Sparkline layout (no key required). <a href=\"https:\/\/legal.yahoo.com\/us\/en\/yahoo\/privacy\/index.html\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>vsforge-stock-market-widgets-lite<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Settings \u2192 Stock Market Widgets<\/strong> and enter your free <a href=\"https:\/\/finnhub.io\/register\">Finnhub API key<\/a>.<\/li>\n<li>Optionally enter a free <a href=\"https:\/\/api-ninjas.com\/register\">API Ninjas key<\/a> to enable company logos.<\/li>\n<li>Add the <code>[vsforge_smw_ticker]<\/code> shortcode to any post or page, or insert the <strong>Stock Market Ticker<\/strong> block in the Gutenberg editor.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20paid%20api%20plan%3F\"><h3>Do I need a paid API plan?<\/h3><\/dt>\n<dd><p>No. Both Finnhub and API Ninjas offer free tiers that are sufficient for normal usage. Finnhub's free plan allows 60 API requests per minute.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20a%20finnhub%20api%20key%3F\"><h3>How do I get a Finnhub API key?<\/h3><\/dt>\n<dd><p>Register for free at <a href=\"https:\/\/finnhub.io\/register\">finnhub.io\/register<\/a>. After registration, copy your API key from the dashboard and paste it into <strong>Settings \u2192 Stock Market Widgets \u2192 Finnhub API Key<\/strong>.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20a%20logo%20api%20key%3F\"><h3>Where do I get a logo API key?<\/h3><\/dt>\n<dd><p>Register for free at <a href=\"https:\/\/api-ninjas.com\/register\">api-ninjas.com\/register<\/a>. Logos are optional \u2014 the plugin works without them.<\/p><\/dd>\n<dt id=\"can%20i%20display%20multiple%20widgets%20with%20different%20layouts%20on%20the%20same%20page%3F\"><h3>Can I display multiple widgets with different layouts on the same page?<\/h3><\/dt>\n<dd><p>Yes. Each shortcode instance can have its own <code>layout<\/code>, <code>symbols<\/code>, <code>scroll<\/code>, and <code>dark<\/code> attributes, overriding the global defaults.<\/p><\/dd>\n<dt id=\"which%20stock%20exchanges%20are%20supported%3F\"><h3>Which stock exchanges are supported?<\/h3><\/dt>\n<dd><p>Any symbol supported by Finnhub \u2014 US stocks (NYSE, NASDAQ), major international exchanges, forex and crypto pairs (e.g. <code>BINANCE:BTCUSDT<\/code>). Refer to the <a href=\"https:\/\/finnhub.io\/docs\/api\/symbol-search\">Finnhub symbol search<\/a> for details.<\/p><\/dd>\n<dt id=\"how%20often%20are%20prices%20updated%3F\"><h3>How often are prices updated?<\/h3><\/dt>\n<dd><p>Quotes are cached for 5 minutes. Refreshing the page or the AJAX call after the cache expires fetches fresh data from Finnhub.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20compatible%20with%20page%20caching%20plugins%3F\"><h3>Is the plugin compatible with page caching plugins?<\/h3><\/dt>\n<dd><p>Yes. Price data is fetched via AJAX after page load, so full-page caches do not affect quote freshness.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Five layouts: single card, sparkline, horizontal ticker, vertical list, card grid.<\/li>\n<li>Finnhub API integration with transient caching.<\/li>\n<li>Optional company logos via API Ninjas.<\/li>\n<li>Dark theme support.<\/li>\n<li>Gutenberg block with live editor preview.<\/li>\n<li>Translations: es_ES, fr_FR, de_DE, pt_BR, ja, ru_RU.<\/li>\n<\/ul>","raw_excerpt":"Display live stock market quotes with five layouts using your own free Finnhub API key.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291590"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vitaliysemenko"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291590"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291590"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291590"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291590"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291590"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}