{"id":10528,"date":"2026-05-15T22:30:12","date_gmt":"2026-05-15T14:30:12","guid":{"rendered":"https:\/\/aeosub.com\/pivot-qr\/"},"modified":"2026-05-15T22:30:12","modified_gmt":"2026-05-15T14:30:12","slug":"pivot-qr","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/pivot-qr\/","title":{"rendered":"Pivot QR"},"content":{"rendered":"<div class=\"post-img\" style=\"margin-bottom: 25px\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/pivot-qr\/assets\/banner-1544x500.png?rev=3533064\" alt=\"Pivot QR\" style=\"width: 100%;height: auto;border-radius: 12px\"><\/div>\n<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/pivot-qr\/assets\/icon-256x256.png?rev=3533064\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/kanedashinya\/\" target=\"_blank\" rel=\"noopener\">foryou, inc.<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v0.3.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.0 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-15 1:59pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/pivot-qr\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Create short URLs and matching QR codes whose destination you can change anytime. Keep the printed QR, pivot where it points.<\/div>\n<p><strong>Pivot QR<\/strong> turns your WordPress site&#8217;s domain into a redirect service. Generate short URLs like <code>example.com\/ab<\/code> together with matching QR codes, then change where they redirect to at any time \u2014 without ever reprinting the QR.<\/p>\n<p>This is especially useful for printed flyers, packaging, business cards, signage, and seasonal campaigns where the printed QR cannot be reissued but the destination URL needs to change.<\/p>\n<h4>Key features<\/h4>\n<ul>\n<li><strong>Short URLs at your domain root<\/strong> \u2014 e.g. <code>example.com\/ab<\/code>.<\/li>\n<li><strong>Adjustable slug length<\/strong> \u2014 2 to 8 characters. Shorter slugs produce sparser QR codes; longer slugs give a larger address space.<\/li>\n<li><strong>Edit slugs after creation<\/strong> \u2014 rename any short URL after it has been issued.<\/li>\n<li><strong>QR downloads<\/strong> \u2014 PNG, JPG, and SVG output at any size from 100 to 1000 px.<\/li>\n<li><strong>Embed code<\/strong> \u2014 copy-ready <code>&lt;img&gt;<\/code> and <code>&lt;svg&gt;<\/code> HTML snippets for posts and product pages.<\/li>\n<li><strong>Scheduled destinations<\/strong> \u2014 optional start\/end dates and multiple schedules per link, with automatic switchover.<\/li>\n<li><strong>Per-device redirects<\/strong> \u2014 send iPhone, Android, and PC visitors to different URLs (perfect for App Store \/ Google Play routing).<\/li>\n<li><strong>Built-in analytics<\/strong> \u2014 daily breakdown of QR scans vs. direct short-URL clicks, rendered as a chart.<\/li>\n<li><strong>Reserved paths<\/strong> \u2014 protect existing pages from being accidentally captured.<\/li>\n<li><strong>Total click counter<\/strong> \u2014 see at a glance how many times each link has been hit.<\/li>\n<\/ul>\n<h4>Privacy<\/h4>\n<p>Pivot QR stores data only in your own WordPress database. It does not phone home, it does not call third-party services, and it does not embed any tracking. Visitor IP addresses, user agents, and referrers from redirect hits are stored locally for analytics; uninstalling the plugin removes everything.<\/p>\n<h4>Bundled libraries<\/h4>\n<p>To work on shared hosting (no Composer or PHP image library required), Pivot QR bundles the following permissively licensed libraries inside the plugin folder. Nothing is loaded from external CDNs.<\/p>\n<ul>\n<li>Chart.js (MIT)<\/li>\n<li>qrcode-generator (MIT) \u2014 by Kazuhiko Arase<\/li>\n<li>Font Awesome Free (CC BY 4.0 icons, MIT CSS, SIL OFL fonts)<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Create short URLs and matching QR codes whose destination you can change anytime. Keep the printed QR, pivot where it points.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[807,808,809,810,811,555],"class_list":["post-10528","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-dynamic-qr","tag-link-management","tag-qr-code","tag-redirect","tag-short-url","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10528"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10528\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}