Search Results for: Shopify

Vibe Coding for Shopify App Developers

In the previous blog, I’ve shown you the roadmap to become a Shopify developer. However, I’m quite not sure if it’s still a relevant topic because a couple weeks ago, something wild just happened in the world of web development (that I just realized today) and they call it “Vibe Coding”.

What is “Vibe Coding”?

Vibe coding, according to many people, is a “new way” of programming (Introduced by Andrej Karpathy) where the person describes a problem/instruction to large language model (LLM). Then, the LLM will read the instructions and start working as the programmer.

This allowed many people with no CS background create programs in just a few prompts of instructions.

So… like what we do with ChatGPT then?

Not really. With “Vibe Coding”, the LLM will literally solve the errors on its own until the instruction that were provided by the “vibe coder” is fully satisfied.

So… like what we do with ChatGPT then?

Okay fine, you’re right. However, my experience with “Vibe coding” was truly impressive. It allowed me to create a Shopify app in just a couple of minutes. I highly recommend watching my experience below:

Vibe Coding for Shopify Developers

“Vibe coding” definitely opened so many doors not just for Shopify developers but also for merchants who does not know how to code. A huge advantage of this is time-saving. If you’re a Shopify merchant who needs a minor feature, Vibe coding is something that can help because it’ll do the heavy-lifting for you. For example, you want to create a new component for your Shopify theme, you can literally ask LLM to read through your Shopify theme and create you a new section based on your layouts, assets, etc.

Another thing that “Vibe coding” can help you with is learning Shopify development or even programming because whenever it writes codes, it also provides information about what it wrote. For instance, I’ve used Cursor to help me work on my pet project and look at its response:

Sure it’s not detailed but you can always ask it to explain. Just imagine you’re working with someone and you want him to explain what he worked on.

The Downsides of Vibe Coding

Okay, listen, Vibe coding seems like magic at first. You know, AI spits out code, your app works, life’s beautiful. But there’s a problem: letting AI handle everything is like trusting a Tesla to drive you through the highway. It may take detours you didn’t agree to, miss key stops, and you could end up somewhere you never intended. Like heaven.

In my experience with Cursor or vibe coding, I encountered many frustrations like:

  • It installs packages that are not really working.
  • When I work with my Shopify apps, it uses Shopify Polaris components that are no longer available
  • And most important of all, it pretends that the code is working when it isn’t

This is a HUGE problem especially if you do not know how to code or read codes.

If you just keep accepting its answers, you will end up building a web application that is full of problems.

Conclusion

I’ve been seeing quite a lot of people hating on it for reasons that I personally can’t understand. Personally, I have no problems with AI or Vibe coding. I really believe it’s going to be helpful when you know how to use it.

At the end of the day, tools are only as good as the hands that wield them.

Sure, there are risks if you rely on AI blindly, but there is an incredible potential when you approach it as what it should be: An assistant rather than a replacement.

Vibe Coding For Shopify App Developers

How To Create Accordion FAQ Page for Shopify Theme Dawn

So you’ve created a new Shopify online store and you’re using the Shopify theme called Dawn. Now you wanna customize it, but the problem is you don’t know how to do it because it’s a new Shopify theme and it’s using JSON templates which is different from the previous Shopify theme Debut (Oh the good ol’ days 😭).

That’s right, Shopify has rolled out the Online Store 2.0 and new Shopify themes must be using JSON templates for Shopify Theme Development instead of the previous liquid templates. You can still use Liquid templates but they are not very encouraged.

This change made it quite confusing especially to those merchants who are used to the old template system. But don’t worry, I’m going to walk you through how to customize the Shopify theme Dawn.

So, what are we going to add to Dawn, you ask?

In this article, we will be creating an accordion FAQ page for the Shopify theme called Dawn.

Author’s note

I’ve already created a lesson about the same topic but back then we were using Debut. So I personally feel like this needs to be recreated.

Video Tutorials

If you’re still using Debut, and you’re interested to learn how to create an FAQs page without using any apps, feel free to watch the video tutorial below.

Otherwise, you can watch me do what’s written in this article in the video below.

Getting Started

In order for this to work, we’re gonna need three (3) things. The first is the page that will render the FAQs. The second is the JSON template that we will use on our page and the third is the liquid codes and a stylesheet to render the FAQs.

This may sound too much for you but it’s honestly not that difficult.

If I’m gonna be honest with you, there’s a simpler and shorter way to create an FAQs page for Dawn, and that is by using sections and schema settings. However, I would like to guide you on how to create a JSON template so that you understand how JSON templates work.

Okay, I’m talking too much, let’s start and create the FAQs page.

How To Create FAQs Page for Dawn

We’re going to divide this section into three (3) parts:

  1. Creating the JSON template for the FAQs page
  2. Creating the page in the admin
  3. Creating the accordions

Let’s start by creating the JSON template for the FAQs page.

Create the JSON template

Open your Shopify store admin page. Then, access the Online Store’s theme page, and there open the Code Editor by clicking the actions dropdown menu and there select Edit Code.

Shopify themes page

Once you have the Code Editor page loaded, the next thing that you’re going to do is to create the JSON template and the template section for the JSON template. Sounds confusing? Let’s do it step by step.

First, open the Templates folder and click the Add a new template file. Then, for the “Create a new template for” select page. Then, for the “Template type“, make sure you’re using JSON. And lastly, name the template file page.faq.

Creating a new Shopify theme template

Once the file is created, apply the following code:

{
  "sections": {
    "main": {
      "type": "main-page-faq"
    }
  },
  "order": ["main"]
}
Code language: JSON / JSON with Comments (json)

In the JSON template above, we are referencing a section file called main-page-faq, so of course, we’re going to create that file.

So open the Sections folder and click the Add a new section file and name the file main-page-faq.

Creating a Shopify theme section

Once the file is created, we’re going to apply the same code that we have from the main-page.liquid section file. But, you can just copy the following code below:

<link rel="stylesheet" href="{{ 'section-main-page.css' | asset_url }}" media="print" onload="this.media='all'">
<link rel="stylesheet" href="{{ 'component-rte.css' | asset_url }}" media="print" onload="this.media='all'">

<noscript>{{ 'section-main-page.css' | asset_url | stylesheet_tag }}</noscript>
<noscript>{{ 'component-rte.css' | asset_url | stylesheet_tag }}</noscript>

<div class="page-width page-width--narrow">
  <h1 class="main-page-title page-title h0">
    {{ page.title | escape }}
  </h1>
  <div class="rte">
    {{ page.content }}
  </div>
</div>

{% schema %}
{
  "name": "FAQs Page",
  "tag": "section",
  "class": "spaced-section"
}
{% endschema %}

Code language: HTML, XML (xml)

Awesome! Now we have the JSON template and the template section ready. Let’s continue by using them on a new page.

Create a new page called FAQs

Go back to your Shopify admin page and access the Online Store’s “pages” page. Then, create a new page and call it FAQs (or whatever you wish to call it) and make sure that the Theme template it’s using is set to faq.

Creating an FAQ page with custom template

Nice! Now we have the page to render the accordions. The last thing that we need to do is to write the code for these accordions.

Create the accordions for FAQs

Go back to your main-page-faq section file and update its code to the following:

<link rel="stylesheet" href="{{ 'section-main-page.css' | asset_url }}" media="print" onload="this.media='all'">
<link rel="stylesheet" href="{{ 'component-rte.css' | asset_url }}" media="print" onload="this.media='all'">

<noscript>{{ 'section-main-page.css' | asset_url | stylesheet_tag }}</noscript>
<noscript>{{ 'component-rte.css' | asset_url | stylesheet_tag }}</noscript>

<div class="page-width page-width--narrow">
  <h1 class="main-page-title page-title h0">
    {{ page.title | escape }}
  </h1>
  <div class="rte">
    {{ page.content }}
  </div>
  
  <div class="faq-container">
    <div class="tabs">
    	{% for block in section.blocks %}
      		{% assign item = block.settings %}
      		
      		<div class="tab">
      			<input type="checkbox" id="faq_checkbox_{{ forloop.index }}" class="faq-checkbox">
        		<label for="faq_checkbox_{{ forloop.index }}" class="tab-label button button--primary">{{ item.question }}</label>
        		<div class="tab-content">{{ item.answer }}</div>
      		</div>
      	{% endfor %}
    </div>
  </div>
</div>

{% schema %}
{
  "name": "FAQ Page",
  "tag": "section",
  "class": "spaced-section",
	"blocks": [
		{
			"name": "FAQ Item",
			"type": "faq",
			"settings": [
				{
					"type": "text",
					"id": "question",
					"label": "Question",
					"default": "Do you have a question?"
				},
				{
					"type": "richtext",
					"id": "answer",
					"label": "Answer",
					"default": "<p>I have an answer</p>"
				}
			]
		}
	]
}
{% endschema %}

Code language: HTML, XML (xml)

The code that we added above should allow you to add blocks to your FAQs page through the customizer page.

Adding FAQ item in Shopify theme editor

Awesome! Now the last thing that we need to do is to use CSS and make the FAQ items an actual accordion. So go back to the code editor and open the Snippets folder, click the Add a new asset. Then, select the Create a blank file and for its name, call it faq-style and make sure the file extension is set to .css.

Add a new Shopify theme asset in Dawn

Once, the file is created, apply the following code:

.faq-checkbox {
  position: absolute;
  opacity: 0;
  z-index: -1;
}

.tabs {
  border-radius: 10px;
  overflow: hidden;
}

.tab {
  width: 100%;
  color: white;
  overflow: hidden;
}

.tab-label {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 1em;
  font-weight: bold;
  color: white;
}	

.tab-label:after {
  content: "+";
  width: 1em;
  height: 1em;
  text-align: center;
  transition: all 0.5s;
}

.tab-content {
  max-height: 0;
  padding: 0 1em;
  background-color: white;
  transition: all 0.5s;
  color: black;
}

.tab-content p {
  margin: 0; 
}

.faq-checkbox:checked + .tab-label:after {
  content: "-"; 
}

.faq-checkbox:checked ~ .tab-content {
  max-height: 100vh;
  padding: 1em;
}
Code language: CSS (css)

Make sure to save your file.

Last step is to apply that CSS stylesheet to our section file.

<link rel="stylesheet" href="{{ 'section-main-page.css' | asset_url }}" media="print" onload="this.media='all'">
<link rel="stylesheet" href="{{ 'component-rte.css' | asset_url }}" media="print" onload="this.media='all'">
<link rel="stylesheet" href="{{ 'faq-style.css' | asset_url }}" media="print" onload="this.media='all'">

<noscript>{{ 'section-main-page.css' | asset_url | stylesheet_tag }}</noscript>
<noscript>{{ 'component-rte.css' | asset_url | stylesheet_tag }}</noscript>

<div class="page-width page-width--narrow">
  <h1 class="main-page-title page-title h0">
    {{ page.title | escape }}
  </h1>
  <div class="rte">
    {{ page.content }}
  </div>
  
  <div class="faq-container">
    <div class="tabs">
    	{% for block in section.blocks %}
      		{% assign item = block.settings %}
      		
      		<div class="tab">
      			<input type="checkbox" id="faq_checkbox_{{ forloop.index }}" class="faq-checkbox">
        		<label for="faq_checkbox_{{ forloop.index }}" class="tab-label button button--primary">{{ item.question }}</label>
        		<div class="tab-content">{{ item.answer }}</div>
      		</div>
      	{% endfor %}
    </div>
  </div>
</div>

{% schema %}
{
  "name": "FAQ Page",
  "tag": "section",
  "class": "spaced-section",
	"blocks": [
		{
			"name": "FAQ Item",
			"type": "faq",
			"settings": [
				{
					"type": "text",
					"id": "question",
					"label": "Question",
					"default": "Do you have a question?"
				},
				{
					"type": "richtext",
					"id": "answer",
					"label": "Answer",
					"default": "<p>I have an answer</p>"
				}
			]
		}
	]
}
{% endschema %}
Code language: HTML, XML (xml)

Now, if you open your FAQs page, you should have the following:

Conclusion

So there you have it! We have created an FAQs page for the Shopify theme called Dawn without using any Shopify apps. Like I said earlier, there is a faster and more practical way of creating accordions and that is by using sections.

Maybe in the future, I will create a separate lesson discussing this but for now, that’s how you create FAQs or accordions.

If you want to support me or WeeklyHow, feel free to subscribe to our YouTube channel or if you want to learn more about Shopify Theme Development, I have a course about Shopify Theme Development and there you will learn more about Liquid programming and Templates.

Learning Shopify Development in 2025 (Beginner Roadmap)

At this point, we are all aware that artificial intelligence (or AI) has been empowering a lot of technologies, including e-commerce. And, Shopify continues to stand at the forefront as one of the most powerful platforms for building online stores. As we step into 2025, the demand for skilled Shopify developers is growing, making it an exciting time to dive into this dynamic field.

But… how? Where do you even start?

With so many tools, trends, and technologies emerging, the learning curve can feel… a little bit.. overwhelming. But do not worry! I have put together this beginner-friendly roadmap to guide you through the essentials of Shopify development in 2025. Let’s get started!

How to learn Shopify development in 2025?

While I’m bias towards reading this article, I’ve made a video version of this article just in case you prefer to listen and watch.

But, honestly, reading this Shopify development roadmap is totally worth it.

What is Shopify development?

Since this is a beginner roadmap, it’s best to know and understand the meaning behind “Shopify development”.

So.. what is it?

Design Shopify Apps WITHOUT Polaris

Shopify development is a form of building, customizing, and optimizing online stores by creating themes, developing custom apps, or integrating third-party solutions to enhance the store’s functionality and the user experience.

Now, there are three categories of Shopify development:

  • Shopify app development

    This allows developers to extend the core functionality of Shopify online stores

  • Shopify theme development

    This involves building the visual aspects of a Shopify store. You’ll work on elements like hero sections, navigational bars, and various content blocks that customers interact with when they visit an online store.

  • Shopify storefront development

    While it’s quite similar to theme development, storefront development allows you to create online stores with no limitations. In this case, Shopify acts as the backend, handling product data, collections, and more, while the frontend is built separately, often referred to as headless e-commerce.

What to learn before diving into Shopify development

Now that you know what is Shopify development, let’s go through the essential things you need to know before you start diving into Shopify development. You see, Shopify development is more than just coding—it’s about understanding the platform’s ecosystem, its tools, and how to create solutions that meet both business and customer needs. Therefore, the first thing that you need to know is eCommerce (I know I didn’t say this in the video, but if I did that video is gonna be more than 10-minutes).

  • eCommerce: Since Shopify is an eCommerce (electronic commerce) platform, it’s important that you know what eCommerce is and how it works. At its core, eCommerce refers to the buying and selling of goods or services online. Simple right? Not really, because there’s more to it. You need to familiarize yourself with the key concepts of eCommerce like product listings, shopping carts, payment methods or gateways, shipping integrations, and customer experience optimization.

    Having knowledge about all of these things will help you build features and functionalities that align with real-world business needs. By grasping the basics of eCommerce, you’ll not only become a good Shopify developer but you’ll also gain the ability to develop online stores that drive sales, that engage with customers, and that stand out in a very competitive digital marketplace.
  • HTML, CSS, and JavaScript: These are the building blocks of web development. Understanding them will allow you to create beautiful and functional components for both Shopify apps and themes.
  • Shopify Liquid: This is a templating language used to create dynamic content on Shopify. Learning Liquid will enable you to transform static pages into dynamic ones using objects, tags, and filters.
  • APIs: Understanding APIs (Application Programming Interfaces) is crucial since they allow different software components to communicate. As a Shopify app developer, you’ll frequently interact with Shopify’s API.
  • Development Tools: Familiarize yourself with a code editor (like VS Code) and various browsers for testing your applications and themes.

How to Learn Shopify Development in 2025

There are numerous ways to learn Shopify development effectively:

Shopify Developers’ Documentation

Shopify developer official documentation

This is a well-structured resource full of thorough explanations and step-by-step guides on building Shopify apps and themes. If you’ve tried it before and found it lacking, you might be surprised at how much it has improved recently. But, if it’s still not good enough for you, then combining this resource with video tutorials is definitely a perfect match. Speaking of tutorials, that’s the next way to learn Shopify development.

YouTube Tutorials

WeeklyHow official YouTube channel
WeeklyHow official YouTube channel

If reading isn’t your strong suit, plenty of channels offer tutorials on Shopify development. Channels like ours: WeeklyHow provide valuable insights and tips. (Shameless plug, I know 😂)

At WeeklyHow, we have covered many topics about Shopify ranging from Dropshipping to Shopify development. There are times when we also cover Shopify app/theme development on our live stream sessions. We highly recommend joining us!

AI Tools

Tools like ChatGPT or Claude can be beneficial for learning. You can ask them questions about code snippets or concepts you don’t understand. While they have limitations, they can certainly help clarify your doubts. Recently, we have published a video about “Code vibing” and it is certainly an experience that new learners should experiment. Watch my experience below:

My Recommended Learning Path

If you’re new to Shopify development, here’s a structured learning path to follow:

  1. Start with the basics of programming to understand concepts like input/output, variables, functions, and logic statements. Since you will learn JavaScript anyway, you might as well use it as a way to learn programming.
  2. Once you’re comfortable with programming, move on to HTML and CSS. Learn how to create components like buttons, navigational bars, or cards. You might even want to explore Figma to enhance your design skills.
  3. Create a Shopify development store and explore the admin interface. Familiarize yourself with the settings, themes, and products sections (Everything). Since you will be working with Shopify, it is a must to know your way around Shopify.
  4. Delve into Shopify Liquid. Learn about objects, tags, and filters to create dynamic content. We have a video about Shopify Liquid that you will definitely find useful. Don’t hesitate to check it out.
  5. Finally, consider building a Shopify theme from scratch. This will help you grasp the structure of online stores and identify potential functionalities that could improve a store’s performance.
  6. Finally finally, after learning Shopify theme development, you can continue by learning Shopify app development. Learn how to CRUD (Create, Read, Update, Delete) products, collections, or pages.

Expanding Your Skills Beyond Basics

As you grow in your Shopify development journey, you’ll find that there’s more to learn:

  • Web Frameworks: Familiarize yourself with frameworks like React or Vue.js, as they are commonly used in modern web applications.
  • Version Control: Learn Git for version control to manage your code effectively.
  • Market Research and SEO: If you plan to publish your apps or themes, understanding market research and SEO is crucial for visibility.

Personal Advice for Aspiring Shopify Developers

As someone who has navigated the waters of Shopify development, here are some personal insights:

  • Don’t rush through the learning process. Take your time to understand each concept thoroughly.
  • Practice consistently. Build small projects to apply what you learn in real-world scenarios.
  • Engage with the community. Join forums or Discord servers to connect with other developers and share your experiences.
  • Stay curious and keep learning. The tech landscape is ever-evolving, and it’s important to stay updated with the latest trends and technologies.

Conclusion

Embarking on a journey to learn Shopify development in 2025 can be both exciting and challenging. By following the roadmap outlined above, you’ll be well on your way to mastering the skills needed to thrive in this dynamic field. Remember, the key to success is persistence and a willingness to adapt. Welcome to the Shopify community, and best of luck on your development journey!

Vibe Coding For Shopify App Developers

How To Learn Shopify Development in 2025

How to Search Products by Title via Shopify Products API

We’ve been looking around for ages and we’ve finally realized that Shopify does NOT offer you a product search feature by title.

It sounds crazy, right?

To be honest, searching for products by the title should be one of the most important features that they should include in Products API. But unfortunately, it’s not there.

Say for instance you have a product with a title 2023 Best Basketball Item.

If you try to browse your store URL and add the GET /admin/api/2019-10/products.json?title=item

Product API should return the item above. But instead, they will throw you the following JSON result:

{"products":[]}
Code language: JSON / JSON with Comments (json)

No result. Sad.

Getting Started

In this Shopify app development tutorial, we’re going to provide you a very easy solution on how to search for products by title using Shopify product API.

Before we get started, we’ll assume that you have been following our Shopify app development tutorial series and you are using the very same files that we are using for this project.

If in case you’re using Laravel or other programming languages, fear not because everything is just the same except the code.

Okay, let me explain to you first how the process goes.

First, you will need an input box. This is where the search term is going to be retrieved.

And then, if the user pressed the enter button. We’ll make an AJAX call and pass the search term into another PHP file.

Now, since we’re going to use AJAX– that means we’re going to create another PHP file. Inside this PHP file, we’ll return all of the products from the Product API. However, we have to make sure that we filter this process by title only. Otherwise, it will take years to be processed especially if the merchant has thousands of products.

Once the Product API is finished, we’ll compare our search term to the title of each product. One by one.

Sounds too complicated?

Let us show you how to do it!

Searching Products by Title

Like we said above, to be able to make a search, we will need an input box.

Let’s say we have the following index.php file:

<?php
require_once("inc/functions.php");

$requests = $_GET;
$hmac = $_GET['hmac'];
$serializeArray = serialize($requests);
$requests = array_diff_key($requests, array( 'hmac' => '' ));
ksort($requests);

$token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";  // Add your access token here (I highly suggest you use ENV here)
$shop = "weeklyhow";  //subdomain of your store URL


?>

<!DOCTYPE html>
<html>
<head>
	<title>Shopify Example App</title>
</head>
<body>
	<h1>Shopify App Example by WeeklyHow</h1>
	<input type="text" id="search" name="search" placeholder="Search for item">
	<input type="hidden" id="subdomain" name="subdomain" value="<?php echo $shop; ?>">
	<div id="products"></div>
</body>
</html>Code language: HTML, XML (xml)

You may have noticed that we have also created a hidden input. This hidden input is used for storing our shop subdomain. Which a requirement for our shopify_call() function.

To display the search result, we’re going to use the div element with an id of products.

Read more:

Searching Products with AJAX

Now that we have the input box, it’s time for us to use AJAX. If you don’t know what is AJAX, it means processing a JavaScript asynchronously or without refreshing the page. It’s very useful for updating elements dynamically.

With that being said, let’s add the following code just before the </body> tag.

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
	$('#search').keypress(function (e) {
		if (e.which == 13) {

		    var search = $(this).val();
		    var shop = $('#subdomain').val();

		    $.ajax({
		        type: "POST",
		        url: "search.php", 
		        data: {
		        	term: search,
		        	subdomain: shop
		        },           
		        dataType: "html",               
		        success: function(response){                    
		            $('#products').html(response);
		        }
		    });
		    return false;
		  }
	});
</script>Code language: HTML, XML (xml)

Yes, we’re going to use jQuery for this tutorial so it will be much easier to understand what’s going on. Although, you are free to use vanilla JS.

The Search PHP file

Create a new PHP file and make sure you name it search.php. (Refer to the AJAX URL’s value.

<?php
require_once("inc/functions.php");

$html = '';
$search_term = $_POST['term'];
$shop = $_POST['subdomain'];
$token = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; //replace with your access token

$array = array(
	'fields' => 'id,title'
);

$products = shopify_call($token, $shop, "/admin/api/2019-10/products.json", $array, 'GET');
$products = json_decode($products['response'], JSON_PRETTY_PRINT);


foreach ($products as $product) {
	foreach ($product as $key => $value) {
		if( stripos( $value['title'], $search_term ) !== false ) {
			$html .= '<p>' . $value['title'] . '</p>';
		}
	}
}

echo $html;

?>Code language: HTML, XML (xml)

And that’s it we’re done! As we said before, the process is very simple. All we need is to do first is to get all the products in the Product API and then for each product we’re going to compare its title to our search term using stripos() function.

stripos() is a function used for finding the position of a string in another string. However, this time, we used the function for checking if the string exists in the title of the product that’s also why we used the comparison operator !==.

In a nutshell, if you do stripos( 'WeeklyHow is awesome!', 'weeklyhow' ) !== false, it will return a value of 1 which is true in boolean form.

Example

Say for instance we used the search term ‘women‘ on the product search page.

We should have the following search result.

Shopify Searching Products

Now if we do that in our Shopify app, we should see the following results.

Shopify-Search-Product-API_gif

Conclusion

That’s it! You can now search for products in your Shopify app using the code above.

Up to this point, we still don’t understand why Shopify didn’t include this filter to make it much easier to retrieve products. However, we think it’s also okay to do it ourselves. At least we learned something.

If you have questions, feel free to let us know in the comments below!

How To Build Shopify Apps with PHP (Update 2024)

We have a Shopify App Development course! Be one of the first students!

Are you looking for an in-depth guide on how to create Shopify apps? Click the enroll button !

Introduction

We are aware that there are hundreds of PHP tutorials online on how to create a Shopify app using PHP, but in this course, we’ll tackle all the components that you may want to add to your Shopify app like displaying products and such.

Now before we proceed, Shopify made an update with their API where they version their API quarterly also known as API versioning. It is important to know that Shopify will always make updates to their API so if you are developing Shopify apps, then you should also keep your apps updated.

Update in 2024

If you’re not aware, Shopify is encouraging most developers to create Shopify apps through their Shopify CLI and so, if you’re interested to learn how to create Shopify apps using Shopify CLI and PHP/Laravel, we’ve managed to compile a series of videos teaching how to create Shopify apps in Laravel.

What is Shopify?

Shopify is one of the most popular e-commerce platforms and provides a great opportunity for developers to build and monetize their own web applications. With the ever-evolving technology, building Shopify apps has become easier and more efficient thanks to Shopify CLI. In this blog, we’ll explore the latest technologies and tools for creating Shopify apps in 2024.

But first…

What is Shopify PHP?

There’s no such thing called “Shopify PHP”, but to make it understandable to you. PHP is a programming language for web development that can be used to develop a Shopify app. Though there are PHP Frameworks that you can use as well to build a Shopify app like Laravel.

In 2023, you can now create Shopify apps simply by using Shopify CLI.

Is it hard to do Shopify App Development?

Building your own Shopify Apps is very easy, all you need is to understand how the API works. Shopify is a Rails application, there are lots of Shopify repositories that you can use for FREE to integrate your website into Shopify API. Here’s the list:

Personally, I use this Shopify API Client made by Alex here:
Shopify Generating API Token Guide

To begin, you have to create a new Shopify app in your Shopify Developer account, so if you don’t have an account yet, you can sign up by visiting shopify.dev

Shopify App Development Tutorial PHP - WeeklyHow

Building Your Own Shopify App with PHP

In this article, we’re going to learn how to make a Shopify application from the scratch using PHP, if you already have a Shopify developer account this is the first page you’re going to see:

Developer Shopify Dashboard
Developer Shopify Dashboard

Proceed to left navigation panel and click the Apps category

Shopify App Development Tutorial PHP

Click Create app and select what type of app you wish to build. Custom app or Public app? For custom apps, you can only install the app to one Shopify store with no need for Shopify to review your app. However, with public apps, Shopify will need to review your app in order for Shopify stores to install your Shopify app.

Shopify App Development Tutorial PHP

After selecting, that should give you the following form.

App Name – The name of the Shopify application you’re about to create.
App URL – The URL of your website where you’re going to upload your Shopify files
Whitelisted Redirection URL(s) – This is where you’re going to list your generate token script or URLs you need as you authenticate your Shopify.

For web hosting, we recommend getting it from Hostinger as it’s more compatible with Shopify especially if you’re just getting started.

Hostinger promotion
Compatible with Shopify
LightSpeed Web Server
Free domain and SSL certificate
30-day money-back guarantee

Once you’re done, filling out the form, click Create app

Image of Shopify App Development using PHP
Here’s everything you need to start building your Shopify App

Now that we have our first Shopify app created, it’s time to make our website connected using these API credentials. To do this, download at least one of the Shopify repositories that I have provided in this article.

To continue with this project, you may proceed to this article.

In part 2, we’ll be using the credentials that we have to connect it to PHP. If you’re interested, proceed to this article below:

Mastering Shopify Liquid for Theme Development in 2024

Whether you’re a seasoned web developer or a new Shopify store owner, the sight of Shopify Liquid code is a familiar one. This template language, exclusive to Shopify, is the backbone of all Shopify themes, facilitating the dynamic display of content on millions of online stores. Understanding Shopify Liquid is crucial for anyone looking to customize or create themes on the Shopify platform.

Video Tutorial

If you prefer watching video tutorials, the below video is the video version of this article.

Otherwise, you may continue reading and learn more about Shopify Liquid.

Introduction to Shopify Liquid

The Evolution of Shopify Liquid

Shopify Liquid has come a long way, constantly evolving to meet the growing demands of e-commerce and theme development. As we move into 2024, it remains at the forefront of Shopify theme design and development, offering unparalleled flexibility and power to developers.

So, Why is it Essential for Theme Customization?

The essence of Shopify Liquid lies in its ability to bridge the server-side with the store’s frontend. It’s the “middleman” that enables the dynamic rendering of content, from product details, collections to blog posts, ensuring each visitor’s experience is unique and personalized.

Understanding the Basics of Shopify Liquid

What is Shopify Liquid

Shopify Liquid is a template language that allows developers to inject dynamic content into the HTML of Shopify stores. Unlike traditional HTML, Liquid code can adapt and change based on the data it receives from the Shopify server, making it an invaluable tool for creating flexible and dynamic e-commerce websites.

Template Languages Explained!

Template languages like Shopify Liquid serve as intermediaries between a website’s backend and its frontend, enabling the seamless integration of static and dynamic content. This ensures that users are presented with up-to-date information tailored to their browsing experience.

The Role of Shopify Liquid in Theme Development

Static vs. Dynamic Content

In web development, there are two contents that you can render: Static Content and Dynamic Content.

The distinction between static and dynamic content is fundamental in web development. While static content remains unchanged, dynamic content can vary based on parameters like URL handles, ensuring that pages like product listings are always up to date.

Getting Started with Shopify Liquid

Setting Up Your Development Environment

Before starting your journey into Shopify Liquid, setting up a proper development environment is important. This includes accessing Shopify’s theme code editor or using a local development tool like Shopify CLI, which allows for testing and debugging in a sandbox environment.

Tip
If you’re just starting, it’s best to use the theme code editor from Shopify as it will help you get familiar with the entire architecture of a Shopify theme faster compared to using a code editor like VSCode.

Basic Syntax of Liquid

Shopify Liquid’s syntax is designed to be intuitive for those familiar with HTML and web development. Understanding its basic constructs—such as variables, loops, and filters—is the first step towards mastering theme development with Liquid. Like other templating language, Shopify uses double-curly braces to output a value. For example:

<div class="wrapper">
     {{ shop.name }}
</div>
Code language: HTML, XML (xml)

And for tags, Liquid is using an open-curly brace followed by a percentage (to close is the same but the other way around):

<div class="wrapper">
     {% shop.name %}
</div>
Code language: HTML, XML (xml)

For filters, you simply need to add the filter and any parameters within the curly brace delimiters {{ }}, preceded by a pipe character |. For example:

<div class="wrapper">
     {{ shop.name | upcase }}
</div>
Code language: HTML, XML (xml)

Designing Themes with Shopify Liquid

Creating Responsive Layouts

In the era of mobile shopping, responsive design is non-negotiable. Shopify Liquid plays a crucial role in creating flexible theme layouts that adapt to various screen sizes, ensuring a seamless shopping experience across all devices.

Shopify Liquid and API Integration

Understanding the Limitations

While Shopify Liquid is potent, it has its limitations, particularly regarding direct API calls to third-party services. However, Shopify offers a robust set of APIs that Liquid can interact with, opening up a world of possibilities for theme customization and functionality enhancement.

Optimizing Your Shopify Themes for Performance

Speed Optimization Techniques

A fast-loading theme is essential for keeping visitors engaged and reducing bounce rates. Shopify Liquid developers can employ various techniques, such as lazy loading images and minimizing Liquid code complexity, to enhance their themes’ performance.

The Future of Shopify Liquid

Upcoming Features and Trends

As we look towards the future, Shopify Liquid is set to introduce new features and improvements (like Theme Blocks) that will further empower developers and designers. Staying informed about these changes is crucial for anyone involved in Shopify theme development. We encourage you to join our Discord server to get the latest news about these changes.

Why You Should Use Laravel For Shopify App Development

Whether you are a web developer or a Shopify store owner, chances are you need to use a Shopify app to make improvements to your Shopify online store and of course, increase your sales. However, there are times when you can not find the perfect app for your Shopify store and that’s when you start to think of creating a custom Shopify the app.

The problem is… There are so many technologies you need to know!

So, which one should you use?! 😵‍💫

Well, first of all, it depends. If you’re comfortable with React/Typescript, then it’ll be best if you work with these framework. However, there is another framework that I’d like to introduce to you when developing Shopify apps.

Laravel for Shopify app development - The PHP Framework for Web Artisans



Laravel, a powerful PHP framework and is often referred to as the “PHP framework for web artisans” that provides an excellent option for building Shopify apps.

In this article, we’ll talk about the reasons why Laravel is a great choice for your next Shopify app development.

So, why should I choose Laravel for building Shopify apps?

Laravel is a great choice due to its robust features and easy integration with Shopify’s APIs. However, there are more reasons as to why you should choose Laravel for building Shopify apps.

Easy to Learn and Use

Laravel is known for its simple and intuitive syntax, making it easy for Shopify developers to learn and use. Its well-documented and organized codebase, combined with its comprehensive documentation, makes it a great choice for developers of all skill levels. This makes it possible to build high-quality Shopify apps quickly and efficiently.

Scalable and Flexible

Laravel is a scalable and flexible framework that can handle large amounts of traffic and data. It’s also highly modular, allowing developers to easily add new features and functionality to Shopify apps. This means that as the needs of your Shopify store change, your app can evolve and grow with it.

Robust Security Features

Security is a top priority for Shopify app development, and Laravel provides a number of robust security features. Laravel includes features such as password hashing, encryption, and SQL injection protection, making it easier to build secure Shopify apps.

Large Community and Support

Laravel has a large and active community of developers, which means that there is a wealth of resources and support available. Whether you’re just starting out or are an experienced developer, you’ll find help and advice on the Laravel forums, Stack Overflow, and other online communities.

Integration with Shopify API

Laravel provides seamless integration with the Shopify API, making it easy to build custom Shopify apps. The Laravel Shopify library provides a simple and straightforward way to interact with the Shopify API, so you can quickly and easily build custom features and functionality for your Shopify store.

How to create Shopify apps with Laravel?

How to Build Shopify Apps with Laravel and PHP (Tutorial)

Now that you know the reasons why you should use Laravel for Shopify app development, it’s now the time to know and learn how to create Shopify apps using Laravel.

At this moment, there are two ways that you can approach to start building Shopify applications:

We managed to create a playlist of videos showing you how to create Shopify apps using Shopify CLI. If you’re interested to learn further, you may check the video below:

Conclusion

Laravel is an excellent choice for Shopify app development. Its easy-to-learn and use syntax, scalable and flexible architecture, robust security features, and integration with the Shopify API make it a top choice for Shopify developers.

If you’re looking to build a custom Shopify app, consider using Laravel to get the job done.