{"id":1427,"date":"2025-12-07T00:24:17","date_gmt":"2025-12-07T00:24:17","guid":{"rendered":"https:\/\/kourentzes.com\/konstantinos\/?page_id=1427"},"modified":"2025-12-07T00:45:07","modified_gmt":"2025-12-07T00:45:07","slug":"song-voter-widget-wordpress-guide","status":"publish","type":"page","link":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/","title":{"rendered":"Song-Voter-Widget plugin for WordPress"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Song Voter Widget: The Complete Guide to Adding Interactive Audio Voting to Your WordPress Site<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p><a href=\"#installation\">&gt; go to installation &amp; download<\/a><\/p>\n\n\n\n<p>Are you looking to add interactive audio voting functionality to your WordPress website? Whether you&#8217;re running a music blog, podcast directory, or audio showcase, the Song Voter Widget plugin offers an elegant solution that lets your visitors vote on MP3 files with thumbs up and thumbs down buttons.<\/p>\n\n\n\n<p>In this comprehensive guide, we&#8217;ll walk you through everything you need to know about Song Voter Widget \u2013 from installation and setup to advanced customization techniques.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is Song Voter Widget?<\/strong><\/h2>\n\n\n\n<p>Song Voter Widget is a free WordPress plugin that creates beautiful, interactive audio players with built-in voting functionality. It allows your website visitors (including guests who aren&#8217;t logged in) to listen to MP3 files and vote on them using intuitive thumbs up and thumbs down buttons.<\/p>\n\n\n\n<p>The plugin features a stunning metallic design with smooth animations, real-time vote counting, and works seamlessly across all devices. Best of all, it&#8217;s incredibly easy to use and requires no coding knowledge whatsoever.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example<\/h2>\n\n\n        <div class=\"svw-player-container\" data-media-id=\"1407\" style=\"max-width: 100%;\">\n            <div class=\"svw-player-main\">\n                                    <div class=\"svw-song-title\">\n                        <span class=\"svw-title-text\">Hunting Goblins with a Crossbow<\/span>\n                    <\/div>\n                                \n                <div class=\"svw-player-controls-row\">\n                    <button class=\"svw-play-button\" aria-label=\"Play\/Pause\">\n                        <svg class=\"svw-play-icon\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n                            <path fill=\"currentColor\" d=\"M8 5v14l11-7z\"\/>\n                        <\/svg>\n                        <svg class=\"svw-pause-icon\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" style=\"display: none;\">\n                            <path fill=\"currentColor\" d=\"M6 4h4v16H6V4zm8 0h4v16h-4V4z\"\/>\n                        <\/svg>\n                    <\/button>\n                    \n                    <div class=\"svw-player-controls\">\n                        <div class=\"svw-progress-container\">\n                            <div class=\"svw-progress-bar\"><\/div>\n                        <\/div>\n                        <div class=\"svw-time-info\">\n                            <span class=\"svw-current-time\">0:00<\/span>\n                            <span class=\"svw-duration\">0:00<\/span>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"svw-voting-controls\">\n                        <button class=\"svw-vote-button svw-vote-up \" \n                                data-vote-type=\"up\" \n                                aria-label=\"Thumbs Up\">\n                            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\">\n                                <path fill=\"currentColor\" d=\"M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z\"\/>\n                            <\/svg>\n                            <span class=\"svw-vote-count\">3<\/span>\n                        <\/button>\n                        \n                        <button class=\"svw-vote-button svw-vote-down \" \n                                data-vote-type=\"down\" \n                                aria-label=\"Thumbs Down\">\n                            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\">\n                                <path fill=\"currentColor\" d=\"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z\"\/>\n                            <\/svg>\n                            <span class=\"svw-vote-count\">0<\/span>\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <audio class=\"svw-audio-element\" preload=\"metadata\">\n                <source src=\"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/Hunting-Goblins-with-a-Crossbow.mp3\" type=\"audio\/mpeg\">\n                Your browser does not support the audio element.\n            <\/audio>\n        <\/div>\n        \n\n\n<h3 class=\"wp-block-heading\"><strong>Key Features at a Glance<\/strong><\/h3>\n\n\n\n<p>&#8211; <strong>Three Integration Methods<\/strong>: Works with Gutenberg blocks, shortcodes, and Elementor<\/p>\n\n\n\n<p>&#8211; <strong>No Login Required<\/strong>: Guest voting enabled by default<\/p>\n\n\n\n<p>&#8211; <strong>Beautiful Design<\/strong>: Modern metallic interface with smooth animations<\/p>\n\n\n\n<p>&#8211; <strong>Vote Tracking<\/strong>: Cookie-based system allows users to change their votes<\/p>\n\n\n\n<p>&#8211; <strong>Real-Time Updates<\/strong>: Vote counts update instantly<\/p>\n\n\n\n<p>&#8211; <strong>Fully Responsive<\/strong>: Perfect appearance on desktop, tablet, and mobile<\/p>\n\n\n\n<p>&#8211; <strong>Customizable<\/strong>: Adjust colors, width, and display options<\/p>\n\n\n\n<p>&#8211; <strong>Lightweight<\/strong>: Only ~13KB total assets for fast loading<\/p>\n\n\n\n<p>&#8211; <strong>No Elementor Required*<\/strong>: Works standalone (but supports Elementor if you use it)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>For Music Bloggers and Reviewers<\/strong><\/h3>\n\n\n\n<p>If you run a music blog or review site, Song Voter Widget lets your audience express their opinions on tracks, albums, or artists. The voting data can help you understand which content resonates most with your readers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>For Podcast Directories<\/strong><\/h3>\n\n\n\n<p>Create a podcast directory where listeners can vote on their favorite episodes. The voting system helps surface the most popular content and encourages community engagement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>For Audio Portfolios<\/strong><\/h3>\n\n\n\n<p>Musicians, producers, and sound designers can showcase their work and get immediate feedback from potential clients or fans. The professional design adds credibility to your portfolio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>For Entertainment Websites<\/strong><\/h3>\n\n\n\n<p>Radio stations, DJ sites, and entertainment platforms can use Song Voter Widget to run &#8220;Song of the Day&#8221; contests or let visitors vote on playlist requests.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"installation\"><strong>Installation Guide<\/strong><\/h2>\n\n\n\n<p>Getting started with Song Voter Widget is incredibly simple. Here&#8217;s the complete installation process:<\/p>\n\n\n\n<p><strong>Step 1: Download the Plugin<\/strong><\/p>\n\n\n\n<p>First, download the Song Voter Widget plugin zip file from the here.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-a1f554e6-25e1-4320-9e11-c222ca5e6190\" href=\"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/song-voter-widget.zip\">song-voter-widget<\/a><a href=\"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/song-voter-widget.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-a1f554e6-25e1-4320-9e11-c222ca5e6190\">Download<\/a><\/div>\n\n\n\n<p><strong>Step 2: Upload to WordPress<\/strong><\/p>\n\n\n\n<p>1. Log in to your WordPress admin dashboard<\/p>\n\n\n\n<p>2. Navigate to <strong>Plugins \u2192 Add New<\/strong><\/p>\n\n\n\n<p>3. Click the <strong>Upload Plugin<\/strong> button at the top<\/p>\n\n\n\n<p>4. Click <strong>Choose File<\/strong> and select the `song-voter-widget.zip` file<\/p>\n\n\n\n<p>5. Click <strong>Install Now<\/strong><\/p>\n\n\n\n<p>6. Once installed, click <strong>Activate Plugin<\/strong><\/p>\n\n\n\n<p>That&#8217;s it! The plugin is now active and ready to use. You&#8217;ll notice there are no complex settings pages or configuration needed \u2013 it works right out of the box.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>System Requirements<\/strong><\/h2>\n\n\n\n<p>&#8211; WordPress 5.0 or higher<\/p>\n\n\n\n<p>&#8211; PHP 7.2 or higher<\/p>\n\n\n\n<p>&#8211; HTML5-compatible browser for audio playback<\/p>\n\n\n\n<p>&#8211; Elementor (optional \u2013 only needed if you want to use the Elementor widget)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Use Song Voter Widget<\/strong><\/h2>\n\n\n\n<p>Song Voter Widget offers three different ways to add audio players to your site. Choose the method that works best for your workflow:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Method 1: Using the Gutenberg Block (Recommended)<\/strong><\/h2>\n\n\n\n<p>The Gutenberg block method is perfect for WordPress users who work with the block editor. Here&#8217;s how to use it:<\/p>\n\n\n\n<p>1. <strong>Edit Your Post or Page<\/strong> Open any post or page in the WordPress editor<\/p>\n\n\n\n<p>2. <strong>Add the Block<\/strong> Click the &#8216;+&#8217; button and search for &#8220;Song Voter&#8221;<\/p>\n\n\n\n<p>3. <strong>Select the Block<\/strong> Click on the &#8220;Song Voter&#8221; block to add it<\/p>\n\n\n\n<p>4. <strong>Choose Your Audio File<\/strong> Click &#8220;Select Audio File&#8221; button<\/p>\n\n\n\n<p>5. <strong>Upload or Select<\/strong> Either upload a new MP3 or select from your media library<\/p>\n\n\n\n<p>6. <strong>Customize (Optional<\/strong>) Use the sidebar settings to:<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; Toggle the filename display on\/off<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; Set a custom width (e.g., &#8220;500px&#8221; or &#8220;80%&#8221;)<\/p>\n\n\n\n<p>7. <strong>Publish<\/strong> Click publish to make your audio player live<\/p>\n\n\n\n<p>The Gutenberg block provides a visual interface that makes it incredibly easy to add and customize your audio players without touching any code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Method 2: Using Shortcodes<\/strong><\/h2>\n\n\n\n<p>Shortcodes are perfect for users who prefer the classic editor, want to add players to widgets, or need maximum flexibility. Here&#8217;s the complete shortcode guide:<\/p>\n\n\n\n<p><strong>Basic Shortcode Syntax<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#91;song_voter id=\"123\"&#93;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EEFFFF\">&#91;song_voter id=&quot;123&quot;&#93;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">HTML<\/span><\/div>\n\n\n\n<p>Simply replace `123` with your audio file&#8217;s media ID.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Finding Your Media ID<\/strong><\/h3>\n\n\n\n<p>To find the media ID of your audio file:<\/p>\n\n\n\n<p>1. Go to <strong>Media \u2192 Library<\/strong> in your WordPress admin<\/p>\n\n\n\n<p>2. Click on your MP3 file to open the details<\/p>\n\n\n\n<p>3. Look at the URL in your browser&#8217;s address bar<\/p>\n\n\n\n<p>4. Find the number after `post=`<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; Example: `post.php?post=456&amp;action=edit`<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; Your media ID is `456`<\/p>\n\n\n\n<p><strong>Advanced Shortcode Options<\/strong><\/p>\n\n\n\n<p>The shortcode accepts several optional parameters:<\/p>\n\n\n\n<p><strong>Hide the Filename:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#91;song_voter id=\"123\" show_filename=\"false\"&#93;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EEFFFF\">&#91;song_voter id=&quot;123&quot; show_filename=&quot;false&quot;&#93;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">HTML<\/span><\/div>\n\n\n\n<p><strong>Set Custom Width:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#91;song_voter id=\"123\" width=\"600px\"&#93;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EEFFFF\">&#91;song_voter id=&quot;123&quot; width=&quot;600px&quot;&#93;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">HTML<\/span><\/div>\n\n\n\n<p><strong>Combine Multiple Options:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#91;song_voter id=\"123\" show_filename=\"false\" width=\"80%\"&#93;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EEFFFF\">&#91;song_voter id=&quot;123&quot; show_filename=&quot;false&quot; width=&quot;80%&quot;&#93;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">HTML<\/span><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Where to Use Shortcodes<\/strong><\/h4>\n\n\n\n<p>Shortcodes work almost anywhere in WordPress:<\/p>\n\n\n\n<p>&#8211; <strong>Posts and Pages <\/strong>: Paste directly in the content<\/p>\n\n\n\n<p>&#8211; <strong>Text Widgets<\/strong>: Add to any widget area<\/p>\n\n\n\n<p>&#8211; <strong>Custom HTML Blocks<\/strong>: Use within Gutenberg<\/p>\n\n\n\n<p>&#8211; <strong>Page Builders<\/strong>: Most page builders support shortcodes<\/p>\n\n\n\n<p>&#8211; <strong>Theme Files<\/strong>: Use with `do_shortcode()` function<\/p>\n\n\n\n<p><strong>#### Multiple Players Example<\/strong><\/p>\n\n\n\n<p>You can easily add multiple audio players to the same page:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#91;song_voter id=\"101\"&#93;\n\n&#91;song_voter id=\"102\"&#93;\n\n&#91;song_voter id=\"103\"&#93;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EEFFFF\">&#91;song_voter id=&quot;101&quot;&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">&#91;song_voter id=&quot;102&quot;&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">&#91;song_voter id=&quot;103&quot;&#93;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">HTML<\/span><\/div>\n\n\n\n<p>Each player maintains its own independent voting data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Method 3: Using Elementor Widget<\/strong><\/h3>\n\n\n\n<p>If you&#8217;re an Elementor user, Song Voter Widget integrates seamlessly with your workflow:<\/p>\n\n\n\n<p>1. <strong>Edit with Elementor<\/strong>: Open your page in Elementor<\/p>\n\n\n\n<p>2. <strong>Search for Widget<\/strong>: In the left panel, search for &#8220;Song Voter&#8221;<\/p>\n\n\n\n<p>3. <strong>Drag and Drop<\/strong>: Drag the widget to your desired location<\/p>\n\n\n\n<p>4.<strong> Select Audio<\/strong>: Click &#8220;Choose Audio File&#8221; in the left panel<\/p>\n\n\n\n<p>5. <strong>Configure Settings<\/strong>:<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; <strong>Content Tab<\/strong>: Choose file and toggle filename<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; <strong>Style Tab<\/strong>: Adjust width and accent color<\/p>\n\n\n\n<p>6. <strong>Preview<\/strong>: See live changes as you edit<\/p>\n\n\n\n<p>7. <strong>Publish<\/strong>: Update your page when ready<\/p>\n\n\n\n<p>The Elementor widget provides the most visual customization options, with live preview and style controls built into the Elementor interface.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Understanding the Voting System<\/strong><\/h2>\n\n\n\n<p>The voting system in Song Voter Widget is designed to be simple, fair, and user-friendly. Here&#8217;s how it works:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How Voting Works<\/strong><\/h3>\n\n\n\n<p>1. <strong>Anyone Can Vote<\/strong>: No login required \u2013 even guests can vote<\/p>\n\n\n\n<p>2. <strong>One Vote Per Person<\/strong>: Tracked via browser cookies<\/p>\n\n\n\n<p>3. <strong>Change Your Mind<\/strong>: Users can switch from thumbs up to thumbs down<\/p>\n\n\n\n<p>4. <strong>Remove Your Vote<\/strong>: Click the same button again to remove your vote<\/p>\n\n\n\n<p>5. <strong>Instant Feedback<\/strong>: Vote counts update immediately<\/p>\n\n\n\n<p>6. <strong>Visual Confirmation<\/strong>: Voted buttons are highlighted in blue<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Vote Tracking Technical Details<\/strong><\/h3>\n\n\n\n<p>Votes are stored in two places:<\/p>\n\n\n\n<p><strong>Database<\/strong>: A custom table stores the total vote counts for each audio file<\/p>\n\n\n\n<p>&#8211; Table name: `wp_song_votes`<\/p>\n\n\n\n<p>&#8211; Stores: media_id, thumbs_up count, thumbs_down count<\/p>\n\n\n\n<p>&#8211; Updates in real-time when votes are cast<\/p>\n\n\n\n<p><strong>Browser Cookies<\/strong>: Individual vote preferences are stored in cookies<\/p>\n\n\n\n<p>&#8211; Cookie name: `svw_vote_{media_id}`<\/p>\n\n\n\n<p>&#8211; Expires: 1 year from voting<\/p>\n\n\n\n<p>&#8211; Purpose: Prevents duplicate voting and remembers user choices<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Vote Security<\/strong><\/h3>\n\n\n\n<p>The plugin includes several security measures:<\/p>\n\n\n\n<p>&#8211; <strong>Nonce Verification<\/strong>: All vote submissions are verified with WordPress nonces<\/p>\n\n\n\n<p>&#8211; <strong>Data Sanitization<\/strong>: All inputs are sanitized and validated<\/p>\n\n\n\n<p>&#8211; <strong>SQL Injection Prevention<\/strong>: Uses prepared statements for all database queries<\/p>\n\n\n\n<p>&#8211; <strong>Rate Limiting<\/strong>: Maximum 1 vote per second per IP address<\/p>\n\n\n\n<p>&#8211; <strong>XSS Protection<\/strong>: All outputs are properly escaped<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Vote Persistence<\/strong><\/h3>\n\n\n\n<p>Votes persist across sessions and browser restarts. If a user:<\/p>\n\n\n\n<p>&#8211; Closes their browser \u2192 Their vote remains<\/p>\n\n\n\n<p>&#8211; Returns tomorrow \u2192 Their vote is still recorded<\/p>\n\n\n\n<p>&#8211; Clears cookies \u2192 Can vote again (fresh slate)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Advanced CSS Customization<\/strong><\/h2>\n\n\n\n<p>For developers or advanced users, you can add custom CSS to further style the player. Add these to your theme&#8217;s custom CSS area:<\/p>\n\n\n\n<p><strong>Change Background Gradient<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.svw-player-main {\n\n\u00a0 \u00a0 background: linear-gradient(145deg, #your-color-1, #your-color-2) !important;\n\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #FFCB6B\">svw-player-main<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">background<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #82AAFF\">linear-gradient<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #F78C6C\">145deg<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> #your-color-1<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> #your-color-2<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">CSS<\/span><\/div>\n\n\n\n<p><strong>Modify Button Colors<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.svw-play-button:hover {\n\n\u00a0 \u00a0 background: linear-gradient(145deg, #ff6b6b, #ee5a52) !important;\n\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #FFCB6B\">svw-play-button<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #C792EA\">hover<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">background<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #82AAFF\">linear-gradient<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #F78C6C\">145deg<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">#<\/span><span style=\"color: #EEFFFF\">ff6b6b<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">#<\/span><span style=\"color: #EEFFFF\">ee5a52<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">CSS<\/span><\/div>\n\n\n\n<p><strong>Adjust Title Styling<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.svw-title-text {\n\n\u00a0 \u00a0 font-size: 18px !important;\n\n\u00a0 \u00a0 color: #your-color !important;\n\n\u00a0 \u00a0 font-weight: 700 !important;\n\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #FFCB6B\">svw-title-text<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">font-size<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">18px<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">color<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> #your-color <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">font-weight<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">700<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">CSS<\/span><\/div>\n\n\n\n<p><strong>Customize Vote Button Appearance<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.svw-vote-button.voted {\n\n\u00a0 \u00a0 background: linear-gradient(145deg, #51cf66, #40c057) !important;\n\n\u00a0 \u00a0 color: white !important;\n\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #FFCB6B\">svw-vote-button<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #FFCB6B\">voted<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">background<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #82AAFF\">linear-gradient<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #F78C6C\">145deg<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">#<\/span><span style=\"color: #EEFFFF\">51cf66<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">#<\/span><span style=\"color: #EEFFFF\">40c057<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">color<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> white <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">CSS<\/span><\/div>\n\n\n\n<p><strong>Change Progress Bar Color<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.svw-progress-bar {\n\n\u00a0 \u00a0 background: linear-gradient(90deg, #ff6b6b, #ee5a52) !important;\n\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #FFCB6B\">svw-progress-bar<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #B2CCD6\">background<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #82AAFF\">linear-gradient<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #F78C6C\">90deg<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">#<\/span><span style=\"color: #EEFFFF\">ff6b6b<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">#<\/span><span style=\"color: #EEFFFF\">ee5a52<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">!important<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">CSS<\/span><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Responsive Design<\/strong><\/h2>\n\n\n\n<p>Song Voter Widget is fully responsive and automatically adapts to different screen sizes. Here&#8217;s how it behaves:<\/p>\n\n\n\n<p><strong>Desktop (&gt;768px)<\/strong><\/p>\n\n\n\n<p>&#8211; Horizontal layout with all elements in one row<\/p>\n\n\n\n<p>&#8211; Play button, progress bar, and voting buttons side by side<\/p>\n\n\n\n<p>&#8211; Full-width song title at top<\/p>\n\n\n\n<p>&#8211; Optimal spacing for mouse interactions<\/p>\n\n\n\n<p><strong>Tablet (768px and below)<\/strong><\/p>\n\n\n\n<p>&#8211; Elements reorganize into logical groups<\/p>\n\n\n\n<p>&#8211; Play button remains prominent<\/p>\n\n\n\n<p>&#8211; Progress bar takes full width<\/p>\n\n\n\n<p>&#8211; Voting buttons centered below<\/p>\n\n\n\n<p>&#8211; Touch-friendly button sizes<\/p>\n\n\n\n<p><strong>Mobile (480px and below)<\/strong><\/p>\n\n\n\n<p>&#8211; Fully stacked vertical layout<\/p>\n\n\n\n<p>&#8211; Larger touch targets for buttons<\/p>\n\n\n\n<p>&#8211; Compact but readable text<\/p>\n\n\n\n<p>&#8211; Progress bar easily draggable<\/p>\n\n\n\n<p>&#8211; Vote buttons optimized for thumb reach<\/p>\n\n\n\n<p><strong>Accessibility Features<\/strong><\/p>\n\n\n\n<p>The plugin includes several accessibility enhancements:<\/p>\n\n\n\n<p>&#8211; <strong>Keyboard Navigation<\/strong> All buttons are keyboard accessible<\/p>\n\n\n\n<p>&#8211; <strong>ARIA Labels<\/strong> Proper labels for screen readers<\/p>\n\n\n\n<p>&#8211; <strong>Focus Indicators<\/strong> Clear visual focus states<\/p>\n\n\n\n<p>&#8211; <strong>High Contrast Support<\/strong> Works in high contrast mode<\/p>\n\n\n\n<p>&#8211; <strong>Semantic HTML<\/strong> Proper heading structure and landmarks<\/p>\n\n\n\n<p><strong>Optimization Tips<\/strong><\/p>\n\n\n\n<p><strong>For Maximum Performance<\/strong>:<\/p>\n\n\n\n<p>1. <strong>Optimize Audio Files<\/strong>: Use 128kbps MP3 for web (good quality, smaller size)<\/p>\n\n\n\n<p>2. <strong>Use CDN<\/strong>: Host audio files on a CDN for faster delivery<\/p>\n\n\n\n<p>3. <strong>Lazy Load<\/strong>: If you have many players, consider lazy loading<\/p>\n\n\n\n<p>4. <strong>Limit Per Page<\/strong>: For best UX, use 5-10 players max per page<\/p>\n\n\n\n<p><strong>Exclude from Optimization<\/strong>:<\/p>\n\n\n\n<p>If using asset optimization plugins, exclude these files:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>song-voter-widget\/assets\/js\/script.js\n\nsong-voter-widget\/assets\/css\/style.css<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>SEO Considerations<\/strong><\/p>\n\n\n\n<p>Using Song Voter Widget effectively can actually benefit your SEO:<\/p>\n\n\n\n<p><strong>Audio Content and SEO<\/strong><\/p>\n\n\n\n<p><strong>Transcriptions<\/strong>: Consider adding text transcriptions of audio content near the player for better SEO.<\/p>\n\n\n\n<p><strong>Schema Markup<\/strong>: Add AudioObject schema for rich results:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;script type=\"application\/ld+json\">\n\n{\n\n\u00a0 \"@context\": \"https:\/\/schema.org\",\n\n\u00a0 \"@type\": \"AudioObject\",\n\n\u00a0 \"name\": \"Song Title\",\n\n\u00a0 \"description\": \"Description of the audio\",\n\n\u00a0 \"contentUrl\": \"URL to MP3 file\",\n\n\u00a0 \"encodingFormat\": \"audio\/mpeg\"\n\n}\n\n&lt;\/script><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">script<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">type<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">application\/ld+json<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 &quot;@type&quot;: &quot;AudioObject&quot;,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 &quot;name&quot;: &quot;Song Title&quot;,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 &quot;description&quot;: &quot;Description of the audio&quot;,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 &quot;contentUrl&quot;: &quot;URL to MP3 file&quot;,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 &quot;encodingFormat&quot;: &quot;audio\/mpeg&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;\/<\/span><span style=\"color: #F07178\">script<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">HTML<\/span><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Privacy and GDPR Compliance<\/strong><\/p>\n\n\n\n<p>Song Voter Widget is designed with privacy in mind:<\/p>\n\n\n\n<p><strong>Data Collection<\/strong><\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\"><strong>What is Collected<\/strong>:<\/span><\/p>\n\n\n\n<p>&#8211; Vote counts (stored in database)<\/p>\n\n\n\n<p>&#8211; User vote preference (stored in browser cookie)<\/p>\n\n\n\n<p>&#8211; IP address (temporarily, for rate limiting)<\/p>\n\n\n\n<p><strong>What is NOT Collected<\/strong>:<\/p>\n\n\n\n<p>&#8211; Personal information<\/p>\n\n\n\n<p>&#8211; Email addresses<\/p>\n\n\n\n<p>&#8211; User accounts<\/p>\n\n\n\n<p>&#8211; Tracking across sites<\/p>\n\n\n\n<p><strong>Cookie Information<\/strong><\/p>\n\n\n\n<p><strong>Cookie Name<\/strong>: `svw_vote_{media_id}`<\/p>\n\n\n\n<p><strong>Purpose<\/strong>: Remember user&#8217;s vote preference<\/p>\n\n\n\n<p><strong>Duration<\/strong>: 1 year<\/p>\n\n\n\n<p><strong>Type<\/strong>: Functional (necessary for voting to work)<\/p>\n\n\n\n<p><strong>GDPR Compliance<\/strong><\/p>\n\n\n\n<p>To be GDPR compliant with Song Voter Widget:<\/p>\n\n\n\n<p>1. <strong>**Cookie Notice**<\/strong>: Add to your cookie policy:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\"Song voting functionality uses functional cookies to\n\n\u00a0 \u00a0remember your vote preferences. These cookies are\n\n\u00a0 \u00a0necessary for the voting feature to work and expire\n\n\u00a0 \u00a0after 1 year.\"<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Song voting functionality uses functional cookies to<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0remember your vote preferences. These cookies are<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0necessary for the voting feature to work and expire<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0after 1 year.<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">PHP<\/span><\/div>\n\n\n\n<p>2. <strong>**Privacy Policy**<\/strong>: Add to your privacy policy:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\"When you vote on audio content, we store your vote\n\n\u00a0 \u00a0preference in a browser cookie. No personal data is\n\n\u00a0 \u00a0collected or stored on our servers.\"<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">When you vote on audio content, we store your vote<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0preference in a browser cookie. No personal data is<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0collected or stored on our servers.<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">PHP<\/span><\/div>\n\n\n\n<p>3. <strong>**User Rights**<\/strong>: Users can:<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; Clear cookies to remove vote data<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; Vote anonymously without registration<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; Change or remove votes at any time<\/p>\n\n\n\n<p><strong>Advanced Integration<\/strong><\/p>\n\n\n\n<p><strong>Displaying Vote Counts in Other Widgets<\/strong><\/p>\n\n\n\n<p>You can access vote data programmatically:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;?php\n\n\/\/ Get vote counts for a specific media ID\n\n$db = SVW_Database::get_instance();\n\n$votes = $db->get_votes(123); \/\/ Replace 123 with media ID\n\necho \"Thumbs Up: \" . $votes&#91;'thumbs_up'&#93;;\n\necho \"Thumbs Down: \" . $votes&#91;'thumbs_down'&#93;;\n\n?><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;?<\/span><span style=\"color: #EEFFFF\">php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #545454; font-style: italic\">\/\/ Get vote counts for a specific media ID<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">db <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #FFCB6B\">SVW_Database<\/span><span style=\"color: #89DDFF\">::<\/span><span style=\"color: #82AAFF\">get_instance<\/span><span style=\"color: #89DDFF\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">votes <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">db<\/span><span style=\"color: #89DDFF\">-&gt;<\/span><span style=\"color: #82AAFF\">get_votes<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #F78C6C\">123<\/span><span style=\"color: #89DDFF\">);<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #545454; font-style: italic\">\/\/ Replace 123 with media ID<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Thumbs Up: <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">votes<\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">thumbs_up<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">&#93;;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Thumbs Down: <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">votes<\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">thumbs_down<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">&#93;;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">?&gt;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">PHP<\/span><\/div>\n\n\n\n<p><strong>Creating Custom Leaderboards<\/strong><\/p>\n\n\n\n<p>Build a &#8220;Most Voted&#8221; page:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;?php\n\nglobal $wpdb;\n\n$table = $wpdb->prefix . 'song_votes';\n\n\/\/ Get top 10 most voted tracks\n\n$top_tracks = $wpdb->get_results(\n\n\u00a0 \u00a0 \"SELECT media_id, (thumbs_up - thumbs_down) as score\n\n\u00a0 \u00a0 \u00a0FROM {$table}\n\n\u00a0 \u00a0 \u00a0ORDER BY score DESC\n\n\u00a0 \u00a0 \u00a0LIMIT 10\"\n\n);\n\nforeach ($top_tracks as $track) {\n\n\u00a0 \u00a0 \/\/ Display each track with Song Voter widget\n\n\u00a0 \u00a0 echo do_shortcode('&#91;song_voter id=\"' . $track->media_id . '\"&#93;');\n\n}\n\n?><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;?<\/span><span style=\"color: #EEFFFF\">php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C792EA\">global<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">wpdb<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">table <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">wpdb<\/span><span style=\"color: #89DDFF\">-&gt;<\/span><span style=\"color: #EEFFFF\">prefix <\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">song_votes<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #545454; font-style: italic\">\/\/ Get top 10 most voted tracks<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">top_tracks <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">wpdb<\/span><span style=\"color: #89DDFF\">-&gt;<\/span><span style=\"color: #82AAFF\">get_results<\/span><span style=\"color: #89DDFF\">(<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #F78C6C\">SELECT<\/span><span style=\"color: #C3E88D\"> media_id, (thumbs_up <\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #C3E88D\"> thumbs_down) <\/span><span style=\"color: #F78C6C\">as<\/span><span style=\"color: #C3E88D\"> score<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0 \u00a0<\/span><span style=\"color: #F78C6C\">FROM<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">{$<\/span><span style=\"color: #EEFFFF\">table<\/span><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0 \u00a0<\/span><span style=\"color: #F78C6C\">ORDER BY<\/span><span style=\"color: #C3E88D\"> score <\/span><span style=\"color: #F78C6C\">DESC<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">\u00a0 \u00a0 \u00a0<\/span><span style=\"color: #F78C6C\">LIMIT<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #F78C6C\">10<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">foreach<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">($<\/span><span style=\"color: #EEFFFF\">top_tracks <\/span><span style=\"color: #89DDFF\">as<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">track<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">\u00a0 \u00a0 <\/span><span style=\"color: #545454; font-style: italic\">\/\/ Display each track with Song Voter widget<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">\u00a0 \u00a0 <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #82AAFF\">do_shortcode<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">&#91;song_voter id=&quot;<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #EEFFFF\">track<\/span><span style=\"color: #89DDFF\">-&gt;<\/span><span style=\"color: #EEFFFF\">media_id <\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">&quot;&#93;<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">?&gt;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">PHP<\/span><\/div>\n\n\n\n<p><strong>AJAX Vote Updates<\/strong><\/p>\n\n\n\n<p>For advanced developers, votes trigger custom JavaScript events:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>jQuery(document).on('svw_vote_complete', function(e, data) {\n\n\u00a0 \u00a0 console.log('Vote recorded:', data);\n\n\u00a0 \u00a0 \/\/ data contains: thumbs_up, thumbs_down, media_id\n\n\u00a0 \u00a0 \/\/ Your custom code here\n\n\u00a0 \u00a0 \/\/ Example: Track with Google Analytics\n\n\u00a0 \u00a0 ga('send', 'event', 'Song Vote', 'Vote Cast', data.media_id);\n\n});<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #82AAFF\">jQuery<\/span><span style=\"color: #EEFFFF\">(document)<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #82AAFF\">on<\/span><span style=\"color: #EEFFFF\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">svw_vote_complete<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C792EA\">function<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF; font-style: italic\">e<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #EEFFFF; font-style: italic\">data<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 <\/span><span style=\"color: #EEFFFF\">console<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #82AAFF\">log<\/span><span style=\"color: #F07178\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">Vote recorded:<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #EEFFFF\">data<\/span><span style=\"color: #F07178\">)<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 <\/span><span style=\"color: #545454; font-style: italic\">\/\/ data contains: thumbs_up, thumbs_down, media_id<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 <\/span><span style=\"color: #545454; font-style: italic\">\/\/ Your custom code here<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 <\/span><span style=\"color: #545454; font-style: italic\">\/\/ Example: Track with Google Analytics<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 <\/span><span style=\"color: #82AAFF\">ga<\/span><span style=\"color: #F07178\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">send<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">event<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">Song Vote<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">Vote Cast<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #EEFFFF\">data<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\">media_id<\/span><span style=\"color: #F07178\">)<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #EEFFFF\">)<\/span><span style=\"color: #89DDFF\">;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">JavaScript<\/span><\/div>\n\n\n\n<p><strong>Custom Vote Notification<\/strong><\/p>\n\n\n\n<p>Show custom notifications after voting:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>jQuery(document).on('svw_vote_complete', function(e, data) {\n\n\u00a0 \u00a0 \/\/ Show a thank you message\n\n\u00a0 \u00a0 alert('Thanks for voting! Current score: ' +\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (data.thumbs_up - data.thumbs_down));\n\n});<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #82AAFF\">jQuery<\/span><span style=\"color: #EEFFFF\">(document)<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #82AAFF\">on<\/span><span style=\"color: #EEFFFF\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">svw_vote_complete<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C792EA\">function<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF; font-style: italic\">e<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #EEFFFF; font-style: italic\">data<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 <\/span><span style=\"color: #545454; font-style: italic\">\/\/ Show a thank you message<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 <\/span><span style=\"color: #82AAFF\">alert<\/span><span style=\"color: #F07178\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">Thanks for voting! Current score: <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">+<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (<\/span><span style=\"color: #EEFFFF\">data<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\">thumbs_up<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #EEFFFF\">data<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\">thumbs_down<\/span><span style=\"color: #F07178\">))<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #EEFFFF\">)<\/span><span style=\"color: #89DDFF\">;<\/span><\/span><\/code><\/pre><span style=\"display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#212121;color:#d5ffff;font-size:12px;line-height:1;position:relative\">JavaScript<\/span><\/div>\n\n\n\n<p><strong>Conclusion<\/strong><\/p>\n\n\n\n<p>Song Voter Widget is the perfect solution for adding interactive audio voting to your WordPress site. Whether you&#8217;re running a music blog, podcast directory, or audio portfolio, this plugin offers the ease-of-use you need.<\/p>\n\n\n\n<p>With three integration methods (Gutenberg blocks, shortcodes, and Elementor), the plugin fits seamlessly into any WordPress workflow. The beautiful metallic design, real-time voting, and responsive layout ensure your audio content looks professional on every device.<\/p>\n\n\n\n<p>Best of all, Song Voter Widget requires no coding knowledge, works without Elementor (though it supports it), and is completely free to use.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Song Voter Widget: The Complete Guide to Adding Interactive Audio Voting to Your WordPress Site &gt; go to installation &amp; download Are you looking to add interactive audio voting functionality to your WordPress website? Whether you&#8217;re running a music blog, podcast directory, or audio showcase, the Song Voter Widget plugin offers an elegant solution that&#8230;<\/p>\n<p class=\"more-link-wrap\"><a href=\"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/\" class=\"more-link\">Read More<span class=\"screen-reader-text\"> &ldquo;Song-Voter-Widget plugin for WordPress&rdquo;<\/span> &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":1430,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-1427","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Song-Voter-Widget plugin for WordPress - konstantinos.kourentzes.com<\/title>\n<meta name=\"description\" content=\"Complete guide to Song Voter Widget for WordPress. Learn how to add interactive MP3 voting with thumbs up\/down buttons. Includes setup, customization, SEO tips, and troubleshooting. Works with Gutenberg, shortcodes &amp; Elementor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Song-Voter-Widget plugin for WordPress - konstantinos.kourentzes.com\" \/>\n<meta property=\"og:description\" content=\"Complete guide to Song Voter Widget for WordPress. Learn how to add interactive MP3 voting with thumbs up\/down buttons. Includes setup, customization, SEO tips, and troubleshooting. Works with Gutenberg, shortcodes &amp; Elementor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"konstantinos.kourentzes.com\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-07T00:45:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"320\" \/>\n\t<meta property=\"og:image:height\" content=\"320\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@kkourentzes\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/\",\"url\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/\",\"name\":\"Song-Voter-Widget plugin for WordPress - konstantinos.kourentzes.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif\",\"datePublished\":\"2025-12-07T00:24:17+00:00\",\"dateModified\":\"2025-12-07T00:45:07+00:00\",\"description\":\"Complete guide to Song Voter Widget for WordPress. Learn how to add interactive MP3 voting with thumbs up\\\/down buttons. Includes setup, customization, SEO tips, and troubleshooting. Works with Gutenberg, shortcodes & Elementor.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif\",\"contentUrl\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif\",\"width\":320,\"height\":320,\"caption\":\"song_voter_wordpress_plugin\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/index.php\\\/song-voter-widget-wordpress-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Song-Voter-Widget plugin for WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/#website\",\"url\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/\",\"name\":\"kourentzes.com\\\/konstantinos\",\"description\":\"Konstantinos Kourentzes\",\"publisher\":{\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/#\\\/schema\\\/person\\\/2693fb0ad7f7638a020431ffe372c822\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/#\\\/schema\\\/person\\\/2693fb0ad7f7638a020431ffe372c822\",\"name\":\"Konstantinos Kourentzes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/kko.png\",\"url\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/kko.png\",\"contentUrl\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/kko.png\",\"width\":2835,\"height\":2268,\"caption\":\"Konstantinos Kourentzes\"},\"logo\":{\"@id\":\"https:\\\/\\\/kourentzes.com\\\/konstantinos\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/kko.png\"},\"description\":\"Konstantinos Kourentzes is a distinguished technologist and Enterprise Resource Planning (ERP) consultant renowned for his expertise in delivering cutting-edge technology solutions. Based in Marousi, Greece, he has a knack for seamlessly integrating data-driven systems, empowering businesses to streamline their operations and achieve peak efficiency. A fervent proponent of innovation, Konstantinos is committed to instigating revolutionary shifts within organizations. His approach revolves around delivering custom-tailored ERP solutions that seamlessly align with each business's distinctive requirements. This catalyzes enduring collaborations rooted in unwavering trust and tangible outcomes. With a background rooted in technology and a passion for optimizing business processes, Konstantinos is your go-to partner for harnessing the power of ERP systems to unlock operational excellence. Connect with Konstantinos on LinkedIn to explore how his technological insights can drive your business to new heights.\",\"sameAs\":[\"https:\\\/\\\/kourentzes.com\\\/konstantinos\",\"https:\\\/\\\/x.com\\\/kkourentzes\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Song-Voter-Widget plugin for WordPress - konstantinos.kourentzes.com","description":"Complete guide to Song Voter Widget for WordPress. Learn how to add interactive MP3 voting with thumbs up\/down buttons. Includes setup, customization, SEO tips, and troubleshooting. Works with Gutenberg, shortcodes & Elementor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/","og_locale":"en_US","og_type":"article","og_title":"Song-Voter-Widget plugin for WordPress - konstantinos.kourentzes.com","og_description":"Complete guide to Song Voter Widget for WordPress. Learn how to add interactive MP3 voting with thumbs up\/down buttons. Includes setup, customization, SEO tips, and troubleshooting. Works with Gutenberg, shortcodes & Elementor.","og_url":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/","og_site_name":"konstantinos.kourentzes.com","article_modified_time":"2025-12-07T00:45:07+00:00","og_image":[{"url":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif","width":320,"height":320,"type":"image\/gif"}],"twitter_card":"summary_large_image","twitter_site":"@kkourentzes","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/","url":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/","name":"Song-Voter-Widget plugin for WordPress - konstantinos.kourentzes.com","isPartOf":{"@id":"https:\/\/kourentzes.com\/konstantinos\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/#primaryimage"},"image":{"@id":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif","datePublished":"2025-12-07T00:24:17+00:00","dateModified":"2025-12-07T00:45:07+00:00","description":"Complete guide to Song Voter Widget for WordPress. Learn how to add interactive MP3 voting with thumbs up\/down buttons. Includes setup, customization, SEO tips, and troubleshooting. Works with Gutenberg, shortcodes & Elementor.","breadcrumb":{"@id":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/#primaryimage","url":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif","contentUrl":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2025\/12\/emperor_kk_song_voter_wordpress_plugin_-ar_11_-bs_2_-motio_752c9a7d-2808-472b-ab6c-dc3d634d8238_0.gif","width":320,"height":320,"caption":"song_voter_wordpress_plugin"},{"@type":"BreadcrumbList","@id":"https:\/\/kourentzes.com\/konstantinos\/index.php\/song-voter-widget-wordpress-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kourentzes.com\/konstantinos\/"},{"@type":"ListItem","position":2,"name":"Song-Voter-Widget plugin for WordPress"}]},{"@type":"WebSite","@id":"https:\/\/kourentzes.com\/konstantinos\/#website","url":"https:\/\/kourentzes.com\/konstantinos\/","name":"kourentzes.com\/konstantinos","description":"Konstantinos Kourentzes","publisher":{"@id":"https:\/\/kourentzes.com\/konstantinos\/#\/schema\/person\/2693fb0ad7f7638a020431ffe372c822"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kourentzes.com\/konstantinos\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/kourentzes.com\/konstantinos\/#\/schema\/person\/2693fb0ad7f7638a020431ffe372c822","name":"Konstantinos Kourentzes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2022\/02\/kko.png","url":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2022\/02\/kko.png","contentUrl":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2022\/02\/kko.png","width":2835,"height":2268,"caption":"Konstantinos Kourentzes"},"logo":{"@id":"https:\/\/kourentzes.com\/konstantinos\/wp-content\/uploads\/2022\/02\/kko.png"},"description":"Konstantinos Kourentzes is a distinguished technologist and Enterprise Resource Planning (ERP) consultant renowned for his expertise in delivering cutting-edge technology solutions. Based in Marousi, Greece, he has a knack for seamlessly integrating data-driven systems, empowering businesses to streamline their operations and achieve peak efficiency. A fervent proponent of innovation, Konstantinos is committed to instigating revolutionary shifts within organizations. His approach revolves around delivering custom-tailored ERP solutions that seamlessly align with each business's distinctive requirements. This catalyzes enduring collaborations rooted in unwavering trust and tangible outcomes. With a background rooted in technology and a passion for optimizing business processes, Konstantinos is your go-to partner for harnessing the power of ERP systems to unlock operational excellence. Connect with Konstantinos on LinkedIn to explore how his technological insights can drive your business to new heights.","sameAs":["https:\/\/kourentzes.com\/konstantinos","https:\/\/x.com\/kkourentzes"]}]}},"_links":{"self":[{"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/pages\/1427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/comments?post=1427"}],"version-history":[{"count":3,"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/pages\/1427\/revisions"}],"predecessor-version":[{"id":1433,"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/pages\/1427\/revisions\/1433"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/media\/1430"}],"wp:attachment":[{"href":"https:\/\/kourentzes.com\/konstantinos\/index.php\/wp-json\/wp\/v2\/media?parent=1427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}