<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CGPAY</title>
    <description>The latest articles on DEV Community by CGPAY (@marco777772).</description>
    <link>https://dev.to/marco777772</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1154568%2F780bba00-5f06-4186-a852-2f8d0fc367f1.png</url>
      <title>DEV Community: CGPAY</title>
      <link>https://dev.to/marco777772</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/marco777772"/>
    <language>en</language>
    <item>
      <title>WordPress silently broke my JavaScript: the wptexturize &amp;&amp; bug</title>
      <dc:creator>CGPAY</dc:creator>
      <pubDate>Wed, 02 Sep 2026 08:48:19 +0000</pubDate>
      <link>https://dev.to/marco777772/wordpress-silently-broke-my-javascript-the-wptexturize-bug-4jc9</link>
      <guid>https://dev.to/marco777772/wordpress-silently-broke-my-javascript-the-wptexturize-bug-4jc9</guid>
      <description>&lt;p&gt;I spent an hour debugging four calculators that had stopped working. No PHP error. No console error I could see at first glance. &lt;code&gt;php -l&lt;/code&gt; said the file was fine. The markup rendered perfectly. The submit button just did nothing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fww75u5fdn508q854lk8f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fww75u5fdn508q854lk8f.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The cause turned out to be WordPress quietly rewriting my JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  The symptom
&lt;/h2&gt;

&lt;p&gt;I build interactive calculators that ship as WordPress shortcodes with a small inline &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; block. They had worked for weeks. Then, after adding some content, four of them died at once.&lt;/p&gt;

&lt;p&gt;Everything checked out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;php -l&lt;/code&gt; on every file: clean&lt;/li&gt;
&lt;li&gt;Page returned HTTP 200&lt;/li&gt;
&lt;li&gt;The form, inputs and result panel were all present in the DOM&lt;/li&gt;
&lt;li&gt;No fatal errors in the log&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The only clue was that my init guard variable was &lt;code&gt;undefined&lt;/code&gt; in the console, meaning the IIFE never ran.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding it
&lt;/h2&gt;

&lt;p&gt;I grabbed the inline script out of the rendered page and tried to parse it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[...&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;script:not([src])&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;myInitFlag&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;// Invalid or unexpected token&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A syntax error. In code I had written and linted. So I dumped the raw rendered output and searched it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// what I wrote in PHP:&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nf"&gt;isNaN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bf&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;bf&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// what WordPress actually sent to the browser:&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nf"&gt;isNaN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bf&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;038&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;038&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;bf&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There it is. WordPress converted my &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; operator into HTML entities. One syntax error takes out the entire script block, so every handler defined below it silently never registered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it happens
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;wptexturize&lt;/code&gt; is the filter that turns straight quotes into curly quotes, three dots into an ellipsis, and so on. It also normalises stray ampersands into &lt;code&gt;&amp;amp;#038;&lt;/code&gt; so the HTML validates.&lt;/p&gt;

&lt;p&gt;That is correct behaviour for prose. It is destructive for a &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; inside a script tag, and &lt;code&gt;wptexturize&lt;/code&gt; does not reliably know the difference when your content passes through certain filter chains, which is exactly what happens with shortcode output rendered inside a page builder.&lt;/p&gt;

&lt;p&gt;The reason it is so hard to spot is that nothing errors server-side. PHP is happy. The HTML is valid. Only the browser knows, and it fails silently unless you go looking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Remove the filter where you do not need it.&lt;/strong&gt; On pages rather than posts, so blog typography is untouched:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nf"&gt;add_action&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;'template_redirect'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nf"&gt;is_page&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nf"&gt;remove_filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;'the_content'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'wptexturize'&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nf"&gt;remove_filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;'widget_text_content'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'wptexturize'&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Avoid &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; in inline scripts.&lt;/strong&gt; Restructure the condition so the operator never appears in the output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// instead of: if (a &amp;amp;&amp;amp; b &amp;amp;&amp;amp; c) { ... }&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;ok&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ok&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ok&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ugly, but bulletproof. I used this for the handful of expressions that survived the filter removal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Move the script to a real file.&lt;/strong&gt; The proper long-term answer. &lt;code&gt;wp_enqueue_script&lt;/code&gt; output never passes through content filters. Inline scripts inside shortcodes are convenient and this is the price.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to check your own site
&lt;/h2&gt;

&lt;p&gt;View source on the rendered page and search inside &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; blocks for &lt;code&gt;&amp;amp;#038;&lt;/code&gt;. If it is there, this is your bug:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; https://example.com/your-page/ | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s1"&gt;'&amp;amp;#038;&amp;amp;#038;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A clean site returns nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;When JavaScript embedded in a CMS stops working with no error anywhere, check what the browser actually received rather than what you wrote. Content filters sit between your source and the output, and they were designed for prose, not code.&lt;/p&gt;

&lt;p&gt;I hit this while building a set of free nutrition calculators at &lt;a href="https://gramgoal.com" rel="noopener noreferrer"&gt;GramGoal&lt;/a&gt; — thirty-plus tools, all shortcode-rendered, which is a lot of surface area for a bug like this. It cost me an hour and four broken tools before I found it. Hopefully this saves someone else the same hour.&lt;/p&gt;

&lt;p&gt;If you have hit other CMS filters that mangle code output, I would like to hear about them in the comments.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>php</category>
    </item>
    <item>
      <title>Everyone should own a faceless YouTube channel that earns $5,000/month.</title>
      <dc:creator>CGPAY</dc:creator>
      <pubDate>Sat, 23 Nov 2024 13:37:08 +0000</pubDate>
      <link>https://dev.to/marco777772/everyone-should-own-a-faceless-youtube-channel-that-earns-5000month-1jkf</link>
      <guid>https://dev.to/marco777772/everyone-should-own-a-faceless-youtube-channel-that-earns-5000month-1jkf</guid>
      <description>&lt;p&gt;Everyone should own a faceless YouTube channel that earns $5,000/month.&lt;/p&gt;

&lt;p&gt;Sadly, 99% of people think it takes years to achieve.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@marocsofiane20/everyone-should-own-a-faceless-youtube-channel-that-earns-5-000-month-59abb88c025a" rel="noopener noreferrer"&gt;Here’s the blueprint to make it happen in the next 30 days&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frg2fnkryh3f02iascwpx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frg2fnkryh3f02iascwpx.png" alt="Image description" width="680" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Got 15 minutes a day? That’s all you need to earn $6,128 a month with Chat GPT</title>
      <dc:creator>CGPAY</dc:creator>
      <pubDate>Sat, 26 Oct 2024 07:27:24 +0000</pubDate>
      <link>https://dev.to/marco777772/got-15-minutes-a-day-thats-all-you-need-to-earn-6128-a-month-with-chat-gpt-1ac3</link>
      <guid>https://dev.to/marco777772/got-15-minutes-a-day-thats-all-you-need-to-earn-6128-a-month-with-chat-gpt-1ac3</guid>
      <description>&lt;p&gt;Got 15 minutes a day?&lt;/p&gt;

&lt;p&gt;That’s all you need to earn $6,128 a month with Chat GPT&lt;/p&gt;

&lt;p&gt;Start following these 3 simple steps now ↓&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz19aw0m6zna2m0a1rifi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz19aw0m6zna2m0a1rifi.png" alt="Image description" width="564" height="561"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1/ Go to ChatGPT :&lt;br&gt;
Once you’re on ChatGPT, paste this message:&lt;/p&gt;

&lt;p&gt;“List the top 10 best-selling automatic mower on Amazon that cost more than $100.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3g2sy4nh4l2jgolv04e3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3g2sy4nh4l2jgolv04e3.png" alt="Image description" width="720" height="659"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For this example, I’m going to choose the Husqvarna Automower 450XH:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu5t5rwmmseuhd99ic2n9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu5t5rwmmseuhd99ic2n9.png" alt="Image description" width="720" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2/ Ask ChatGPT to create a TOP 3:&lt;br&gt;
Then paste this message into ChatGPT:&lt;/p&gt;

&lt;p&gt;“Now I want you to write a 1000-word TOP3 script with 2 competitors of Husqvarna Automower 450XH mentioning the pros and cons of each product”&lt;/p&gt;

&lt;p&gt;Wondering how to turn this text into money? Read the next step.&lt;/p&gt;

&lt;p&gt;3/ Create a dynamic video using &lt;a href="https://fliki.ai/?via=sofiane-maroc" rel="noopener noreferrer"&gt;Fliki &lt;/a&gt;AI tool&lt;br&gt;
Go to Fliki AI and paste the text generated by ChatGPT into the tool.&lt;/p&gt;

&lt;p&gt;This will create a video with a professional avatar presenting the product comparison.&lt;/p&gt;

&lt;p&gt;4/ Publish the video on YouTube:&lt;br&gt;
Now, all you need to do is publish this video (you can do this even if you have 0 subscribers)&lt;/p&gt;

&lt;p&gt;The most important thing is to include your affiliate link in the video description.&lt;/p&gt;

&lt;p&gt;And in the next step, I’ll explain how much this can earn you:&lt;/p&gt;

&lt;p&gt;Result: Anyone interested in buying this product will find your video.&lt;/p&gt;

&lt;p&gt;And every time they click on your affiliate link, you’ll earn up to $23.12 per sale.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogmbazpsss14pf2047y7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogmbazpsss14pf2047y7.png" alt="Image description" width="571" height="679"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 5/ Simply repeat this process with dozens of products until you reach the $5,700 mark.&lt;br&gt;
You can also create videos in different languages to earn even more commissions.&lt;/p&gt;

&lt;p&gt;To optimize your visibility, you can follow the marketing strategies I share in my newsletter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4kcbdp22e4fynsh9h1am.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4kcbdp22e4fynsh9h1am.png" alt="Image description" width="680" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Generate and share code snippets for VS Code using the latest AI models</title>
      <dc:creator>CGPAY</dc:creator>
      <pubDate>Wed, 06 Sep 2023 06:47:37 +0000</pubDate>
      <link>https://dev.to/marco777772/generate-and-share-code-snippets-for-vs-code-using-the-latest-ai-models-4mb</link>
      <guid>https://dev.to/marco777772/generate-and-share-code-snippets-for-vs-code-using-the-latest-ai-models-4mb</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://appsumo.8odi.net/QyArQo"&gt;Code Snippets AI&lt;/a&gt; is a Visual Studio Code extension that can generate, refactor, debug, optimize, and store code for your team.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---IuEjQR4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v9js389gkp738dislf8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---IuEjQR4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v9js389gkp738dislf8a.png" alt="Image description" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All you gotta do to integrate an AI programming assistant into Visual Studio Code is install the Code Snippets AI extension.&lt;/p&gt;

&lt;p&gt;With this extension, you’ll be able to choose between four leading AI models: ChatGPT, GPT-4, Google PaLM 2, and Claude.&lt;/p&gt;

&lt;p&gt;You can refactor any code in seconds just by highlighting it and letting the AI assistant suggest new ways to optimize.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2rVNZHGx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l06es7o38jmvl9x8tw2b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2rVNZHGx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l06es7o38jmvl9x8tw2b.png" alt="Image description" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
