Using caching to improve website performance – W3 Total Cache plugin

Transcript

Introduction

Let’s explore caching to improve website performance. Caching is a technique used to improve the performance of websites. It involves storing frequently accessed data in a cache, which can be quickly retrieved when needed, rather than retrieving it from the server every time a user visits the website. Caching is like having a personal bookshelf for frequently used files and data. When a user visits a cached website, the browser checks the cache first for required files. If found, the website loads faster. It lessens the server’s burden by serving cached files instead of generating them repeatedly. Ultimately, caching enhances user experience by providing faster loading times and smoother website navigation.

Cache levels

Caching occurs at multiple levels to optimize website performance. At the front end, browser caching stores static files like images and CSS on visitor devices, reducing server requests. Moving deeper, object caching in WordPress speeds up data retrieval by storing frequently accessed information in fast-access storage systems like Redis or Memcached. At the server level, opcode caching improves PHP execution, while advanced solutions like Varnish can dramatically boost performance for high-traffic sites. Each caching layer contributes to faster load times and reduced server load, creating a smoother user experience.

Adding a plugin is probably one of the most simple ways to optimize caching on your WordPress website. Cache plugins simplify implementation, optimize performance, offer advanced techniques and include cache management features for efficient and targeted caching on your website. Let’s briefly look at four of the most common caching types you will encounter.

Common types of caching

First up is page caching. Think of it as taking a snapshot of your webpage. We serve this pre-made version instead of building the page from scratch every time someone visits. It’s like having a photo ready to show instead of painting a picture on the spot. This approach creates a static copy of the page, eliminating the need to query the database repeatedly. The result? Faster load times for your visitors.

Number two, browser caching. When you visit a website, your browser saves certain files so the next time you visit that site, your browser can use the stored files instead of downloading them again. This helps to load the website faster since the browser doesn’t have to fetch all the files from the server every time.

Number three is server caching. Server caching involves storing commonly accessed website data. When a user requests that data, the server can quickly retrieve it from the cache instead of generating it again.

And number four, CDN caching. Content Delivery Networks store copies of website files on servers located in different parts of the world. When a user visits the website, the files are loaded from the nearest server, reducing the time it takes for the content to reach them.

Using a plugin

Some plugins to explore are W3 Total Cache, WP Faster Cache, and LiteSpeed cache, but many others are available in the Plugins Directory. In this example today, we will install and activate the W3 Total Cache plugin and then enable some of the most important settings. Once we have installed and activated the plugin, we can go to Settings. Once you land here, you can follow the setup guide or skip it if you please.

Setup guide

We will go ahead and follow the necessary steps. Let’s go ahead and test the page cache. And we are after the fastest time, and as you will notice, they have also recommended disk enhancement, which is actually the fastest time. Then, we can click on Next and select Test database cache. Now, at the bottom below, it is recommended to leave this feature disabled as the server database engine may be faster than disk caching. So, let’s move along and test the object cache. And then select the fastest time. Then, we can click Next and test the browser cache. We will keep it enabled and then move on to image optimization. This will allow you to enable the WebP converter. It adds the ability to convert images in the Media Library to the modern WebP format for better performance. Finally, we can also enable a lazy load of images. When lazy load images are selected, images and other media elements only load when the user reaches that section, reducing website load time.

General settings

When the setup is done, we can visit General Settings to learn more about extra settings and features. Let’s take a closer look at some General Settings. First up is page cache. The first thing we want to do is ensure that this is enabled. Adding page cache can improve performance and reduce server load. Please note that some hosts also provide page caching.

Next, we are going to look at minify or minification. This technique is all about trimming the fat from your website’s code. Minification automatically strips away unnecessary data from CSS, JavaScript, feed pages, and post HTML. Think of it like compressing a file before sending it. You’re not losing any important information, just making it more compact. We can, therefore, go ahead and enable minify. I’ve read through the documentation, so I will go ahead and say I understand the risks. And leaving minify mode on auto will suffice. However, if you notice any odd behavior or if your site doesn’t look quite right after enabling this, minification could be the culprit. It’s a powerful tool, but sometimes it can be overzealous in trimming.

Then, we can scroll down to the opcode cache. Opcode cache is available to pro-version users and allows you to store compiled PHP code. Now, we move on to database cache and object cache. Let’s first talk about database cache. As you know, it was recommended during the setup that it might be better to keep this disabled on this specific website. It also says it is best used if the object cache is not available. Object cache is possible, so we have therefore enabled this feature as it further reduces execution time for common operations. But please note that database cache and object cache are not recommended when using shared server hosting.

Up next, we will ensure that browser cache is enabled, as it reduces server load and decreases response time by using the cache available in a visitor’s web browser. As mentioned, CDN caching is also important. And to implement this, you need a CDN provider. So make sure you sign up for a provider such as CloudFlare, Amazon CloudFront or others. Let’s move on to the Google Page Speed section. Here you can connect to the PageSpeed Insights API, which lets you analyze the performance of your website. If you authorize this, you must connect your Gmail account.

When in your dashboard, you can use your left sidebar to fine-tune more specific settings for different cache types. Lastly, it is worth mentioning that sometimes the cache won’t realize you have made changes or updated your site, and instead of loading the new version of your site, it will load the old version. You might then consider clearing your cache to ensure the newest version of your site loads as a form of troubleshooting. You will find options to clear the cache at the top of your dashboard.

Conclusion

To conclude, by understanding and implementing these different levels of caching, you can enhance your website’s speed and performance, ensuring a smoother experience for your visitors.

WordPress taxonomies

Transcript

Introduction

In this lesson, we will learn how taxonomies can enhance your site’s information architecture and improve the user experience. Let’s start with understanding taxonomies in WordPress. A taxonomy is a way of grouping posts and custom post types together. Taxonomies are the method of classifying content and data in WordPress. They help organize content, making it easier for visitors to navigate your site. When you use a taxonomy, you’re grouping similar things together. There are two types of taxonomies in WordPress. Default taxonomies and custom taxonomies. Default taxonomies include categories, tags and post formats. While custom taxonomies are created using a plugin or by a developer. In this lesson, we won’t cover post formats, but we will add a link below resources if you want to learn more.

Categories

Let’s start by looking at categories. Categories are a hierarchical taxonomy, which means they can have parent and child categories. Let’s say, for example, you have a traveling website. You can create a parent category named Destinations and add different continents as subcategories. We access categories in the posts below on the left sidebar of the dashboard. As you will notice, I have already created a category called Destinations. Next, I will create a subcategory called Europe, one of the continents. So I will add the name, add the slug. The slug is the URL-friendly version of the name and is usually in lowercase. Below the parent category, we can select Destinations as the parent category for this child category. Then, go ahead and add the new category. WordPress requires at least one category for posts. So when you have a new website, you will see a default category called Uncategorized. Renaming this to something more relevant to your content is good practice.

Tags

Next, let’s talk about tags. Tags are a non-hierarchical taxonomy. They don’t have parent or child relationships. They provide a granular search mechanism, allowing users to find specific content across various categories. To continue with our traveling example, if we have destinations as our parent category and different continents as our subcategories, we can add the names of countries and cities as tags. Access tags below categories and then go ahead and add the relevant name and slug. To reiterate, a tag is a single parameter that groups similar posts based on specific details rather than overarching themes, allowing for more precise content categorization. Let’s look at one of our blog posts on the front end, namely surfing in Portugal. Below the title, we will see the categories, and below the text, we will see the tags.

Custom taxonomies

What if you want to create your own taxonomies? Creating custom post types is an excellent way to create content types beyond posts. For example, think of a movie review WordPress site. Instead of using general taxonomies, such as categories and tags, we can create a custom post type, namely Movies, and then add a category named Genre. And I will create a custom tag and call it Movie attributes. And those Movie attributes can range from awards if it is based on a true story and even the age restriction. Let’s see this in action on my test website.

Example

I have used the Custom Post Type UI plugin to create a custom post type named Movies, and a category named Genre and a tag named Movie attributes. You can learn how to create custom post types using a plugin in one of our other lessons, which we will link below this video. Now let’s go ahead and add a movie entry, namely Lion King, and in the sidebar settings on the right, below the custom Genre category, we can select Drama. Below the custom tag taxonomy, we can select Oscar-winning and PG. What if you wanted to display posts from a specific taxonomy? You can leverage the Query Loop block to create custom queries that display posts based on specific categories or tags or custom taxonomies. In this example below post type, I’ve selected my custom post type and below Filters, you can filter which posts you want to have displayed based on the relevant taxonomy.

Displaying descriptions

The last thing I want to touch on is adding a description to a taxonomy and also highlighting that the description field we can see here can be displayed in archive page templates using the Term Description block. Let’s see this in action. Let’s go ahead and add a description for my Destinations category and then update. Next, we can open up the All Archives template or, of course, create a custom Category template. For this example, let’s go ahead and use the All Archives template. If we want the description field of the taxonomy to be displayed, we can add the Term Description block. And please take note, the Term Description block only works in the archive pages. If we click on the Destinations category on the front end, the archive page will open up and we will see the description below the title.

Conclusion

Understanding and effectively using categories and tags, as well as custom taxonomies, is crucial for organizing your WordPress site’s content. By structuring your content with these taxonomies, you enhance the user experience, making it easier for visitors to find what they want.

Resources

  1. Creating custom post types and taxonomies (opens in a new tab)
  2. Post formats (opens in a new tab)

Creating custom post types and taxonomies

Transcript

Introduction

In this lesson, we will explore custom post types. By the end of this session, you should be able to describe a WordPress custom post type, understand why you might want to use one, generate a custom post type, and understand how to display your custom post type content on your website. So, what is a custom post type? The content you create on your WordPress site is stored in the database as pages, posts, and taxonomies such as categories and tags. Additionally, you can create custom post types and taxonomies to suit your specific needs.

Custom post types

Sometimes, your website may need something custom to enter and display content efficiently. So a custom post type is useful when creating content with a different format than a standard page or post. For instance, if you are a designer or photographer, you might want to create a portfolio post type to display your work. What might be some other examples of websites using custom post types? One of the most popular e-commerce plugins is WooCommerce. The products entered into and then displayed through WooCommerce are registered as custom post types and the product categories are custom taxonomies. Some other examples where custom post types might be appropriate could be for books, book reviews, team members, portfolio items, clubs, courses, lessons, and recipes; the list is endless.

So, what is the best way to establish a custom post type on your website? The general answer to that is to either write the code yourself. You can see the custom post type lesson in the developer pathway on this, or if you are not a developer use an available plugin that will set up a custom post type for you. And that will be the focus of this lesson. But before we continue, it is worth mentioning that the developer handbook says we recommend that you put custom post types in a plugin rather than a theme. This ensures that user content remains portable even if the theme is changed.

Creating a custom post type

Currently, the most popular plugins that can generate custom post types are Custom Post Type UI and Advanced Custom Fields or ACF. Other options may be found by searching for custom post types in the Plugin Directory. For this demonstration, we have chosen to use the Custom Post Type UI plugin. The process starts by installing and activating the CPT UI plugin. You will then see a new menu item on your dashboard, in this case at the bottom on the left column menu. Select “Add edit post types” and get started.

We will set up a custom post type on a hiking website that displays nearby mountains that can be climbed and classifies them by height and climbing ease. The process begins with naming your custom post type by designating a slug, namely mountain, and both single mountain and plural mountains labels. You will then be given a long list of labels associated with the new custom post type. There is a link available to populate the labels based on your custom post type slug. Click that option to save time and then scroll through the long list to see if you want to change any of the default labels. For instance, the default “Menu name” label adds the word “my” in front of the label. I prefer to remove that.

Then, we can scroll down to the settings area below all the labels. The settings establish such things as whether the custom post type is available to the public, whether it can be searched or appear in a navigation menu, where it appears in the dashboard menu list, and even what icon is displayed next to the menu item. You will also be able to designate what sections in the custom post type edit page are supported, such as featured image, excerpt, author, and others.

All of the setting items have default settings. You will want to change the “has archive” setting. Set that to true to have an archive page. If you think you might want to export the custom post type at some point, you can also set that item to true. Right at the bottom, you will see taxonomies to be assigned to the custom post type. The two displayed are the WordPress default categories and tags. We will be setting up custom taxonomies, so the defaults should not be selected. Once you complete those steps and save your designations, a new custom post type will appear in the WordPress dashboard’s left side menu along with the post and page menu items.

Custom taxonomies

Now you can designate any custom taxonomies that might help you more efficiently classify your new custom post type entries. In our case, we will classify the mountains using custom taxonomies called height and climb rating. Height and climbing ability would act as categories for our custom post type. We will generate several height ranges to segment the mountains. The same process will be used with the climb rating taxonomy by setting up climbing effort levels. To get started, select “Add edit taxonomies” in the menu area at the bottom left.

Then, we can start setting up the taxonomies in the same way that we established the custom post type. So, in the first example, I will call the taxonomy slug height, the plural label heights, and the singular label height. I will also select to auto-populate labels. Then, I will select the mountain custom post type as the post type to which the taxonomy applies. In the settings section, you will probably want to change two of the default settings. The first, Hierarchical, should be set to true if you want the taxonomies to be listed on the post type edit page. The other one is called “Show in quick or bulk edit panel” and setting this to true will allow you to change taxonomy settings of a specific mountain using the quick edit menu selection. Next, we can follow the same process for the climb rating taxonomy.

After establishing your taxonomies, in this case, height and climb rating, you must edit your mountain custom post type. So we will return to “Add edit post type”, select the mountain custom post type and then scroll down to the bottom of the settings section. Now you will see the height and climbing rating taxonomies listed. Check both of their boxes and save the custom post type again so that the taxonomies are related to that specific custom post type. Once you have set up your custom post type and its taxonomies, you can begin to populate them. When you select your custom post type in the dashboard, you can open up one of your taxonomies. In this case height and then the first classification would be mountains less than 3000 feet below sea level. Then, we can go ahead and add the other classifications for this taxonomy. Mountains less than 3000 feet below sea level up to mountains more than 12000 feet above sea level. Then, we can do exactly the same for the other taxonomy climb ratings. In this case, I’ve added a beginner, intermediate, and advanced classification.

Custom post type entries

Now that our taxonomies are set up, we can make a few custom post type entries. In this case, you would be entering specific mountains and selecting the taxonomies into which they fit. So let’s go ahead and create our first custom post type entry. I will name it first mountain and I’ll add some dummy content. And in our sidebar settings, we can apply the relevant taxonomies. And in this case, the mountain is less than 3000 feet and it is suitable for beginners. We will also add an excerpt as well as a post featured image. And then hit Publish. Then I will go ahead and create two more entries for the mountains custom post type, second mountain and third mountain. Now that you have your mountain post types entered and segmented by a height and climbing ease, you can provide your website visitors with a way to view the mountain list, either in its entirety or displayed by taxonomy.

Displaying your custom post type

First, we are going to generate a new page to be used to display the mountain custom post type archive. Name your page as you wish. In this case, we used mountains and then save it. Access the pages listing and select Quick Edit to display the page title and its slug. Change the slug to match the slug of your custom post type. In our case, that is mountain and then save the change. In order to see the page, we will need to add it to our menu in the header template part of the site. Access the Site Editor and select Navigation. Then Edit. Open the List View, select the Navigation block, add a new menu item, and select the page called Mountains. Then I will select Mountains in the right sidebar, click on the three vertical dots, add a sub-menu link, and type height. And as you can see, there’s no page called height. I only want to use height as a placeholder to display the classifications. So I will also add climbing rating as a placeholder and to ensure that it’s only a placeholder, you select the menu item, in this case height, open the sidebar settings and then add two hashtags below URL to ensure it’s not clickable, but merely a placeholder. We will do the same for the climb rating. We will add the sub-menu link as a placeholder and then add the two hashtags below the URL.

Then, we can go ahead and add the classifications as sub-pages to these placeholders. So let’s go ahead and select Height, click on the three vertical dots, click on Add a submenu link, we will search for the first classification less than 3000 feet, and select the taxonomy. Then, we can go ahead and add the classifications for both height and climbing ratings. Let’s go ahead and view it from the front end. When we click on Mountains, we will see all our custom post type entries, Mountain one, two and three. Then, we can select one of the classifications, in this case, mountains less than 3000 feet. For climbing ratings, we can look at mountains suitable for intermediate hikers.

Templates

The last thing we want to talk about is templates. All these pages that we’ve looked at are being displayed using the All Archives template. But what if you wanted one of your pages to have a different look and layout? If you make your way to the Site Editor and click on Manage all templates, we can click on Add new template top right. Then you have a few options. You can add the archive mountain template, which will display all your mountain entries. Or you can select the single item mountain template to change how single entries are displayed. Lastly, you can also modify how your taxonomies are displayed for all your taxonomies or single taxonomies or classifications in this case.

Conclusion

You can learn more about WordPress templates, there use and modification in some of our other sessions on learn.wordpress.org. All the best creating and setting up custom post types on your site.

Website optimization

Transcript

Introduction

Numerous research and case studies have shown that the longer a site takes to respond, the more visitors will abandon it. No matter your site’s focus, providing the best experience for your visitors is the main goal, so optimizing it for speed is critical.

In this lesson, you will learn what website optimization means, which elements can impact performance, how to test your site’s speed, and how to improve it.

Web performance pertains to the user experience of load time and runtime. As a practice, web performance involves measurable factors, such as a page’s loading time and the time it takes to become interactive, as well as the user’s perception of how long it took.

What affects performance

Multiple components determine a site’s speed—software, network conditions, hardware—each calculated by standard metric. The way to achieve high performance scores is to optimize each of these moving parts.

Let’s start with software, which covers code and content.

WordPress themes define the pages’ content structure. Some design elements, like colors, have no effect on performance, whereas others—from fonts and graphic assets to carousels and popups—could tank your site’s speed.

Selecting newer, more performant file formats is a good practice when dealing with media and fonts. Images, especially, play a key role in website optimization. We will thoroughly cover the topic in another lesson dedicated to image optimization strategies.

While minimizing the number of assets is useful, how they’re loaded is just as important. From this perspective, a well-coded theme makes all the difference.

Themes and plugins

Bloated themes that load too many assets are among the biggest culprits of poor performance scores. 

Similarly, the quality of the plugins you use influences how fast your site will perform, both objectively and perceivably. Plugins that perform excessive requests to external services, load multiple assets, and constantly perform database queries will bog down even the best-configured server.

Embedded content and third-party elements

Ads, analytics, social media widgets, alternative comments plugins, and externally hosted assets delay loading, slow down response times, hog bandwidth, and may trigger higher bounce rates.

Think twice before adding them to your site, and be vigilant about the performance cost.

How performance is measured

You can measure performance in two ways: synthetic and real user monitoring (RUM).

Both happen in the browser but synthetic means running tests “in the lab”—under predefined conditions and preset variables, while RUM renders findings generated “in the field”, collecting data from actual site visitors.

In either case, the tests would likely be based on a set of three metrics outlined by Google and adopted across the industry as “quality signals that are essential to delivering a great user experience on the web.”

They’re known as Core Web Vitals:

  • Largest Contentful Paint (LCP) measures when the largest element on the page becomes visible.
  • Cumulative Layout Shift (CLS) measures how much the elements on the page shift while the page is loading.
  • Interaction to Next Paint (INP) a new addition to the list that measures how long it takes for the page to respond to user interactions (clicks, taps, and keyboard inputs).

How to test your site

Testing helps you identify performance bottlenecks. You can do that using various tools, including PageSpeed Insights (opens in a new tab) and WebPageTest (opens in a new tab) .

Maintained by Google, PageSpeed Insights presents synthetic results alongside the company’s version of RUM—the Chrome User Experience Report (CrUX). It tests the page on mobile and desktop devices and provides suggestions for improvements.

WebPageTest is a more elaborate testing platform. It adds a bunch of helpful features on top of Google’s metrics, including an environmental impact report, image analysis, a detailed breakdown of optimization opportunities, and an option to select different locations, browsers, and connection speeds.

Running WebPageTest for the first time might be daunting, but it’s an invaluable tool for testing and analyzing your site’s overall performance.

When testing, you’ll encounter other software-driven metrics, including

  • First Contentful Paint (FCP): when the browser displays the first bit of content.
  • Total Blocking Time (TBT): the time elapsed after FCP and before visitors can interact with the site.

These are influenced by a combination of loading too many assets and elements and failing to do so properly.

ℹ️ Performance Lab is a community plugin developed by the WordPress Performance Team that might be able to mitigate some of the problems. This plugin combines six standalone plugins, each designed to tackle a specific performance feature using the latest browser technology. Once activated, the plugin automatically begins optimizing your website. There’s no need for manual configuration or adjustments.

The importance of hosting

The other factors affecting your WordPress site’s speed are network infrastructure, server hardware, and database operations.

The metric that covers these is the Time to First Byte (TTFB), which measures the time it takes until the browser receives the first byte. This depends on connection time—the visitor’s and the server’s.

The faster the connection is established, the faster the bytes are sent, and the faster your site will load.

Several factors determine the resource delivery speed, including geographical location, network conditions, hardware configuration, and backend processes. In other words, hosting matters.

As slow server response times can result from network or hardware issues (CPU, memory, and storage speed), it’s worth carefully considering every aspect of your hosting solution—not just the price listed.

Plugins

Finally, Plugins. Performance plugins won’t be able to reduce CPU load time on the server or update back-end software, but they can take care of things like CDNs, caching, compression, modification, database optimization and sometimes even security.

So even when opting for more affordable shared hosting, it’s a good idea to offset common challenges with the help of a trusted plugin that lets you use a CDN to minimize the client’s server round trip times, apply caching to reduce the number of requests, and enable compression and modification to send the smallest amount of data.

The WordPress Plugin Directory features hundreds of performance and optimization plugins. Here are a few popular solutions:

  • WP-Optimize
  • W3 Total Cache
  • WP Super Cache
  • Jetpack Boost
  • LiteSpeed Cache

Conclusion

WordPress contributors have been working hard on improving speed and performance. Some features are included in Core, but others require users and developers to enable them.

Make sure you’re using the latest version of WordPress to benefit from the latest performance-boosting techniques.

WordPress Hooks

One of the most regularly used developer features in WordPress is its Hooks system.

Hooks are what make WordPress so extendable and allow you to build anything on the foundation of WordPress, from a blog to an online ecommerce platform.

Let’s dive into what hooks are, how they work, and how you can use them in your WordPress themes and plugins.

What are hooks?

Hooks allow your theme or plugin code to interact with or modify the execution of a WordPress request at specific, predefined spots.

There are two types of hooks, action hooks, and filter hooks. These are more commonly known as actions and filters.

To understand how hooks work, let’s look at how a hook is defined in WordPress core.

How hooks work

In the WordPress front-end request lesson, you learned about the wp-settings.php file, and how this file sets up the WordPress environment.

If you scroll down to about line 643 of this file, you will see the following line of code:

do_action( 'init' );

Here the do_action function defines an action hook, with the hook name init.

You can read more about this hook in the init hook documentation

As a developer, you can hook into this action and run your own code when this init action is fired.

It’s essentially like being able to add your own code inside the wp-settings.php file at that point, but without actually modifying the core file.

How you can use hooks

You can use hooks in your WordPress themes and plugins to add your own functionality to WordPress, or to modify the default functionality.

To see this in action, let’s create a simple example of how you can use a filter hook to modify the content of a post.

To do this, you’re going to create a small plugin. Don’t worry if you’ve never worked with plugins before, but do check out the Introduction to plugins module to learn more about them.

For now, in your code editor, browse to your wp-content/plugins directory, and create a new file called wp-learn-hooks.php.

Then, add the following code to this file:

<?php
/**
 * Plugin Name: WP Learn Hooks
 * Description: A simple plugin to demonstrate how to use hooks in WordPress.
 * Version: 1.0
 */

add_filter( 'the_content', 'wp_learn_amend_content' );

function wp_learn_amend_content( $content ) {
    return $content . '<p>Thanks for reading!</p>';
}

Now, browse to the WordPress admin of your local WordPress installation, go to Plugins, and activate your new plugin.

Then, browse to the front end of your site and view any post or page. In this example, I’m going to view the sample page.

You will see that the content of the page now has the text “Thanks for reading!” added to the end of it.

If you deactivate the plugin, the text will disappear.

Conclusion

This is a simple example of how you can use a filter hook to modify the content of a post.

Don’t worry if none of this makes sense right now, as we will cover this in more detail in the lessons on Action Hooks and Filter Hooks.

હુક્સ સાથે કામ

હૂક પર કૉલબેક ફંક્શન કેવી રીતે નોંધણી કરવું તે જાણવા ઉપરાંત, વર્ડપ્રેસમાં હુક્સ સાથે કામ કરવા વિશે તમારે કેટલીક અન્ય બાબતો જાણવાની જરૂર છે.

આ પાઠમાં, તમે હૂક પ્રાધાન્યતા, હૂક પરિમાણો અને હૂક ઓર્ડર વિશે શીખી શકશો.

હૂક પ્રાધાન્યતા

ચાલો હૂક પ્રાધાન્યતા સાથે પ્રારંભ કરીએ.

જો તમે add_action માટેના દસ્તાવેજીકરણ પર એક નજર નાખશો તો તમને હૂક નામ અને કૉલબેક ફંક્શન પછી બે વધારાના ફંક્શન પરિમાણો દેખાશે.

ત્રીજું પરિમાણ હૂક પ્રાધાન્યતા છે, જે એક પૂર્ણાંક છે જે મૂળભૂત 10 છે. આનો અર્થ એ છે કે જો તમે તમારા કોડમાં કોઈ અગ્રતા નિર્દિષ્ટ કર્યા વિના કોઈ ક્રિયા નોંધણી કરો છો, તો તે 10 ની પ્રાથમિકતા સાથે નોંધવામાં આવશે.

add_filter ફંક્શનમાં પ્રાથમિકતા પરિમાણ પણ છે, જે તે જ રીતે કાર્ય કરે છે.

હૂક પ્રાધાન્યતા તમને વર્ડપ્રેસ કોર અથવા અન્ય થીમ્સ અથવા પ્લગિન્સ દ્વારા, આપેલ હૂક પર નોંધણી થઈ શકે તેવા કોઈપણ અન્ય હૂક કૉલબૅક્સની તુલનામાં, તમારું હૂક કૉલબેક ચલાવવામાં આવે છે તે ક્રમ નક્કી કરવાની મંજૂરી આપે છે.

હુક્સ પ્રાધાન્યતાના સંખ્યાત્મક ક્રમમાં ચાલે છે, 1 થી શરૂ થાય છે. સામાન્ય રીતે પ્રાથમિકતાને 10 ના મૂળભૂત પર છોડવી સલામત છે, સિવાય કે તમે તમારા કૉલબેક ફંક્શનને જે ક્રમમાં ચલાવવામાં આવે તે ક્રમમાં ફેરફાર કરવા માંગતા હો.

ઉદાહરણ તરીકે, ક્રિયા પાઠમાં after_setup_theme ઉદાહરણમાં, તમે ખાતરી કરી શકો છો કે રજિસ્ટર્ડ કૉલબૅક ફંક્શન વર્ડપ્રેસ કોર દ્વારા નોંધાયેલ કોઈપણ કૉલબૅક્સ ચલાવવામાં આવે તે પછી જ ચાલે છે.

કારણ કે વર્ડપ્રેસ કોર 10 ની મૂળભૂત અગ્રતા સાથે કોઈપણ હૂક કૉલબૅક્સની નોંધણી કરે છે, જો તમે 11 ની પ્રાથમિકતાનો ઉલ્લેખ કરો છો, તો તમે ખાતરી કરી શકો છો કે કોઈપણ કોર કૉલબૅક્સ પૂર્ણ થયા પછી મારું કૉલબૅક કાર્ય ચાલે છે.

add_action( 'after_setup_theme', 'wp_learn_setup_theme', 11 );

વૈકલ્પિક રીતે, જો તમે ખાતરી કરવા માંગતા હો કે કૉલબેક વર્ડપ્રેસ કોર પહેલા ચાલે છે, તો તમે નીચી અગ્રતા સેટ કરશો, કહો કે 9.

add_action( 'after_setup_theme', 'wp_learn_setup_theme', 9 );

ઘણીવાર તમે જોઈ શકો છો કે કૉલબૅક્સ ઉચ્ચ અગ્રતા સાથે નોંધાયેલ છે, જેમ કે 99 અથવા 9999.

add_action( 'after_setup_theme', 'wp_learn_setup_theme', 9999 );

આ એટલા માટે છે કારણ કે પ્લગઇન અથવા થીમ ડેવલપર ખાતરી કરવા માંગે છે કે આ કૉલબૅક અન્ય તમામ કૉલબૅક કાર્યો પછી ચલાવવામાં આવે છે. જો કે, અન્ય તૃતીય-પક્ષ પ્લગઈન્સ અથવા થીમ્સ તેમના કૉલબૅક્સને કઈ અગ્રતા પર મૂળભૂત કરી શકે છે તે ક્યારેય જાણી શકાતું નથી.

હૂક પરિમાણો

હવે ચાલો હૂક પરિમાણો જોઈએ,

add_action અને add_filter ફંક્શનમાં ચોથું પરિમાણ એ કૉલબેક ફંક્શન સ્વીકારી શકે તેવી સ્વીકૃત દલીલોની સંખ્યા છે.

https://developer.wordpress.org/reference/functions/add_filter/
https://developer.wordpress.org/reference/functions/add_action/

આ કેવી રીતે કાર્ય કરે છે તે વધુ સારી રીતે સમજવા માટે, ચાલો સામગ્રી-સંબંધિત ફિલ્ટર હૂક પર એક નજર કરીએ, get_the_excerpt.

ફિલ્ટર લાઇન 492 પર wp-includes/post-template.php ફાઇલમાં વ્યાખ્યાયિત થયેલ છે

return apply_filters( 'get_the_excerpt', $post->post_excerpt, $post );

આ ફિલ્ટરને get_the_excerpt ફંક્શનમાં વ્યાખ્યાયિત કરવામાં આવે છે, જેને બદલામાં the_excerpt ફંક્શનમાંથી બોલાવવામાં આવે છે.

આ ફંક્શનનો ઉપયોગ સામાન્ય રીતે શોધ પરિણામો પ્રદર્શિત કરતી વખતે થાય છે, જ્યાં તે પોસ્ટના અંશો બતાવવા માટે ઉપયોગી છે અને પોસ્ટ સામગ્રીને નહીં.

apply_filters ફંક્શન ફિલ્ટર હૂકને બે વેરીએબલ સાથે નોંધણી કરી રહ્યું છે જે ફિલ્ટર સાથે સંકળાયેલ છે, $post_excerpt સ્ટ્રિંગ વેરીએબલ અને $post ઑબ્જેક્ટ.

ક્રિયા અથવા ફિલ્ટર હૂકને વ્યાખ્યાયિત કરતી વખતે, કોઈપણ સંખ્યામાં સંભવિત દલીલો ઉમેરી શકાય છે. જો કે, સ્વીકૃત દલીલો પરિમાણને પસાર કરવામાં આવેલ નંબર નક્કી કરે છે કે તેમાંથી કેટલા હૂક કૉલબેક ફંક્શનમાં પાસ થયા છે.

જો તમે add_filter માટેના દસ્તાવેજો જોશો તો તમને સ્વીકૃત દલીલોની સંખ્યા માટે મૂળભૂત મૂલ્ય 1 દેખાશે, જેનો અર્થ છે કે જો તમે આ પરિમાણ માટે કોઈ મૂલ્ય નિર્દિષ્ટ કરશો નહીં, તો પ્રથમ દલીલ કૉલબૅક ફંક્શનમાં પસાર કરવા માટે ઉપલબ્ધ હશે.

get_the_excerpt ફિલ્ટરમાં, સ્વીકારવા માટે બે સંભવિત ચલો છે.

જો તમે દલીલોની સંખ્યા સુયોજિત કર્યા વિના કૉલબૅકની નોંધણી કરાવો છો, તો કૉલબૅક ફંક્શનમાં ફક્ત પ્રથમ જ ઉપલબ્ધ હશે, આ કિસ્સામાં, post_excerpt.

add_filter( 'get_the_excerpt', 'wp_learn_amend_the_excerpt', 10 );
function wp_learn_amend_the_excerpt( $post_excerpt ) {
// do something with the $post_excerpt
}

વધુ ઉપલબ્ધ દલીલો સ્વીકારવા માટે, તમારે સ્વીકારવા માટેની દલીલોની સંખ્યા સ્પષ્ટ કરવાની જરૂર છે.

add_filter( 'get_the_excerpt', 'wp_learn_amend_the_excerpt', 10, 2 );

પછી તમે તમારા કૉલબેક કાર્યમાં તે દલીલોનો ઉપયોગ કરી શકો છો

function wp_learn_amend_the_excerpt( $post_excerpt, $post ) {

}

તમારા કૉલબેક કાર્ય માટે તમારે કઈ દલીલોની જરૂર છે તે નિર્ધારિત કરવામાં સક્ષમ બનવું અને હૂક નોંધણીમાં નંબર સેટ કરવો એ એક મૂલ્યવાન કૌશલ્ય છે.

ઉદાહરણ તરીકે, ચાલો કહીએ કે તમે ટૂંકસાર પછી ટેક્સ્ટનો એક સરળ ભાગ ઉમેરવા માગો છો. તે કિસ્સામાં, તમારે માત્ર $post_excerptની જરૂર પડશે, જેથી તમે સ્વીકૃત દલીલો સેટિંગ છોડી શકો.

add_filter( 'get_the_excerpt', 'wp_learn_amend_the_excerpt', 11 );
function wp_learn_amend_the_excerpt( $post_excerpt ) {
$additional_content = '<p>Verified by Search Engine</p>';
$post_excerpt = $post_excerpt . $additional_content;

return $post_excerpt;
}

નોંધ લો કે કેવી રીતે પ્રાથમિકતા પણ અપડેટ કરવામાં આવી છે. તમે આ કરી શકો છો કારણ કે તમે ખાતરી કરવા માંગો છો કે આ ફિલ્ટરને સોંપેલ કોઈપણ કોર ફિલ્ટર કૉલબૅક્સ ચલાવવામાં આવ્યા પછી આ ટેક્સ્ટમાં સુધારો કરવામાં આવ્યો છે.

ચાલો અમારા શોધ પરિણામોમાં તેના પર એક નજર કરીએ.

જો કે, જો તમે પોસ્ટમાંથી કંઈક શામેલ કરવા માંગતા હો, તો પોસ્ટનું શીર્ષક કહો?

આ કિસ્સામાં, તમે $post ઑબ્જેક્ટમાંથી પોસ્ટ શીર્ષક મેળવવા માટે હૂકમાંથી બંને દલીલો સ્વીકારવા માટે તમારા કૉલબેકને અપડેટ કરશો.

add_filter( 'get_the_excerpt', 'wp_learn_amend_the_excerpt', 11, 2 );
function wp_learn_amend_the_excerpt( $post_excerpt, $post ) {
$additional_content = '<p>'. $post->post_title . ' Verified by Search Engine</p>';
$post_excerpt = $post_excerpt . $additional_content;

return $post_excerpt;
}

ચાલો જોઈએ કે અમારા અપડેટ કરેલા શોધ પરિણામોમાં આ કેવું દેખાય છે.

તમે જોશો કે આ કોડ કૉલબેકમાં પસાર થતી દલીલો માટે સમાન ચલ નામોનો ઉપયોગ કરી રહ્યો છે, આ કિસ્સામાં, $post_excerpt અને $post.

આ કોઈ આવશ્યકતા નથી, અને જ્યારે તમે તમારા કૉલબેક ફંક્શનને નોંધણી કરો

ત્યારે તમે તેમને ગમે તે રીતે કૉલ કરી શકો છો, પરંતુ જો તમે તેમને સમાન નામ આપો તો દરેક વેરીએબલ શેના માટે છે તે યાદ રાખવું સરળ બનાવે છે.

હૂક ઓર્ડર

તમારી ચોક્કસ જરૂરિયાતો પર આધાર રાખીને, તમારે પહેલા તે નક્કી કરવાની જરૂર પડી શકે છે કે કઈ ક્રિયા અથવા ફિલ્ટરનો ઉપયોગ કરવો યોગ્ય છે.

સદનસીબે, વર્ડપ્રેસ ડેવલપર ડોક્યુમેન્ટેશનમાં કોમન APIs વિભાગમાં હુક્સ પર એક પેજ છે, જેમાં તમામ ક્રિયા અને ફિલ્ટર હુક્સની સૂચિ છે અને તે ક્રમમાં વર્ડપ્રેસ સાઇટ પર વિવિધ વિનંતીઓ દરમિયાન ચલાવવામાં આવે છે.

તમે જે હૂકનો ઉપયોગ કરવા માંગો છો તે ક્યારે ચલાવવામાં આવે છે તે તપાસવા માટે તમે આ સૂચિનો ઉપયોગ કરી શકો છો અને પછી તે તમારી જરૂરિયાતો માટે યોગ્ય હૂક છે કે કેમ તે નિર્ધારિત કરવા માટે આ માહિતીનો ઉપયોગ કરી શકો છો.

ફિલ્ટર હુક્સ

વર્ડપ્રેસ હુક્સ, ક્રિયાઓ અને ફિલ્ટર્સ બે પ્રકારના હોય છે.

આ પાઠમાં, અમે ફિલ્ટર્સ પર ધ્યાન કેન્દ્રિત કરીશું, પરંતુ ક્રિયા હૂક પર વધુ માહિતી માટે ક્રિયા પાઠ તપાસો.

ફિલ્ટર હુક્સ શું છે?

ફિલ્ટર્સ તમને ચોક્કસ બિંદુ પર અમુક ડેટાને સંશોધિત અથવા ફિલ્ટર કરવાની મંજૂરી આપે છે, જેનો ઉપયોગ પછીથી કરવામાં આવશે.

ફિલ્ટરનો ઉપયોગ કરવા માટે, તમે તમારા કોડમાં પહેલાથી અસ્તિત્વમાં રહેલા ફિલ્ટર હૂકમાં ફંક્શન રજીસ્ટર કરો છો, જે કૉલબેક ફંક્શન તરીકે ઓળખાય છે.

આને વધુ સારી રીતે સમજાવવા માટે, ચાલો the_content નામનું ફિલ્ટર જોઈએ.

આ ફિલ્ટર wp-includes/post-template.php ફાઇલમાં વ્યાખ્યાયિત થયેલ છે, ફંક્શનની અંદર જેનો ઉપયોગ થીમ ટેમ્પલેટ્સમાં થાય છે જ્યારે પણ ટેમ્પલેટને કોઈપણ પોસ્ટ અથવા પૃષ્ઠ સામગ્રીને રેન્ડર કરવાની જરૂર હોય છે.

તે કાર્યની અંદર, આપણે આ કોડ જોઈએ છીએ

$content = apply_filters( 'the_content', $content );

અહીં apply_filters ફંક્શન ફિલ્ટર હૂકને વ્યાખ્યાયિત કરે છે, the_content ના હૂક નામ સાથે.

તમે જોશો કે $content વેરીએબલ apply_filters ની દલીલ તરીકે પસાર કરવામાં આવ્યું છે અને apply_filters નું મૂલ્ય વેરીએબલને પાછું સોંપવામાં આવ્યું છે, આ કિસ્સામાં, ફરીથી, $content ચલ.

જો આપણે આ ફંક્શનમાં થોડું ઊંચું જોઈએ તો, $content વેરીએબલને get_the_content ફંક્શનની વેલ્યુ અસાઇન કરવામાં આવે છે, જે એક વર્ડપ્રેસ કોર ફંક્શન છે જે પોસ્ટ ટેબલમાં વર્તમાન પોસ્ટ અથવા પેજ માટે post_content ફીલ્ડની વેલ્યુ પુનઃપ્રાપ્ત કરે છે.

તેથી apply_filters ફંક્શન ફિલ્ટર હૂકની નોંધણી કરે છે, કોડ એક્ઝિક્યુશનમાં આ બિંદુએ $content ની કિંમત આ હૂક પર નોંધાયેલ કોઈપણ કૉલબેક ફંક્શનમાં પસાર કરે છે અને અપડેટ કરેલ મૂલ્યને પાછું પસાર કરવાની જરૂર છે.

ફિલ્ટર હુક્સનો ઉપયોગ

તમારા કૉલબેક ફંક્શનને ફિલ્ટર પર રજીસ્ટર કરવા માટે તમે વર્ડપ્રેસ add_filter ફંક્શનનો ઉપયોગ કરો છો.

તમારે હૂકનું નામ અને તમારા કૉલબેક ફંક્શનનું નામ add_filter ફંક્શનમાં દલીલો તરીકે પાસ કરવાની જરૂર પડશે.

થીમની functions.php ફાઇલમાં આ કેવું દેખાય છે તેના પર એક નજર કરીએ.

તમારા કોડ એડિટરમાં, તમારી હાલમાં સક્રિય થીમની functions.php ફાઇલ પર નેવિગેટ કરો અને તેને ખોલો.

જો તમારી થીમમાં functions.php ફાઇલ નથી, તો તમે તમારી થીમ ડિરેક્ટરીના રૂટમાં એક બનાવી શકો છો. ફક્ત ખાતરી કરો કે તેનું નામ functions.php છે, અને ફાઇલની ટોચ પર ઓપનિંગ PHP ટેગ છે.

પછી, the_content ફિલ્ટર હૂકમાં કૉલબેક ફંક્શનને હૂક કરવા માટે તમારી functions.php ફાઇલમાં નીચેનો કોડ ઉમેરો.

add_filter( 'the_content', 'wp_learn_amend_content' );

પછી, PHP ફંક્શન સિન્ટેક્સનો ઉપયોગ કરીને કૉલબેક ફંક્શન બનાવો, જે ફિલ્ટરમાંથી સંબંધિત દલીલ સ્વીકારે છે.

function wp_learn_amend_content( $content ) {
// do some things that update $content
return $content;
}

તમારે દલીલને ફિલ્ટરમાંથી પસાર કરેલા ચલ નામની જેમ નામ આપવાની જરૂર નથી, પરંતુ જો તમે કરો તો તે તેને સરળ બનાવે છે.

નોંધ લો કે તમારે અપડેટ કરેલ ડેટા પરત કરવો પડશે. આ એટલા માટે છે કે Apply_filters કૉલમાંથી અપડેટ થઈ રહેલા મૂળ વેરિયેબલને અપડેટ ડેટા મળે છે.

ઉદાહરણ તરીકે, ધારો કે તમે દરેક પોસ્ટની સામગ્રીના અંતમાં કંઈક ઉમેરવા માગો છો, તો તમે તેને $content વેરીએબલમાં આના જેવી જોડી શકો છો.

add_filter( 'the_content', 'wp_learn_amend_content' );
function wp_learn_amend_content( $content ) {
$additional_content = '<!-- wp:paragraph --><p>Filtered through <i>the_content</i></p><!-- /wp:paragraph -->';
$content = $content . $additional_content;

return $content;
}

આ ઉદાહરણમાં, તમે ફકરા બ્લોકમાં અમુક ટેક્સ્ટ ઉમેરી રહ્યાં છો, જે આગળના છેડે દરેક પોસ્ટના તળિયે રેન્ડર થાય છે.

ફિલ્ટર કૉલબેકમાંથી હંમેશા કંઈક પાછું આપવું ખૂબ જ મહત્વપૂર્ણ છે, આદર્શ રીતે, ફિલ્ટરને પસાર કરેલ ચલની સંશોધિત સામગ્રી. કંઈક પાછું ન આપવાથી તમારી વર્ડપ્રેસ સાઇટ પર ઘાતક ભૂલ થશે.

ચાલો અમારી વર્ડપ્રેસ સાઇટમાં તે કેવું દેખાય છે તેના પર એક નજર કરીએ.

જો તમે આગળના છેડે કોઈપણ પોસ્ટ અથવા પૃષ્ઠ જોશો, તો તમને સામગ્રીના તળિયે “ફિલ્ટર the_content દ્વારા” ટેક્સ્ટ દેખાશે.

તેથી, જેમ તમે આ ઉદાહરણમાંથી જોઈ શકો છો, ફિલ્ટર હુક્સ તમને કોડ એક્ઝેક્યુશનમાં ચોક્કસ બિંદુએ ડેટાના અમુક ટુકડાઓને સંશોધિત કરવાની મંજૂરી આપે છે.

ક્રિયા હુક્સ

વર્ડપ્રેસ હુક્સ, ક્રિયા હુક્સ અને ફિલ્ટર હુક્સ બે પ્રકારના હોય છે. આ વધુ સામાન્ય રીતે ક્રિયાઓ અને ફિલ્ટર્સ તરીકે ઓળખાય છે.

આ વિડિઓમાં અમે ક્રિયાઓ પર ધ્યાન કેન્દ્રિત કરીશું, પરંતુ ફિલ્ટર હુક્સ વિશે વધુ માહિતી માટે ફિલ્ટર્સ પાઠ તપાસો.

ક્રિયા હુક્સ શું છે

તેમનું નામ જણાવે છે તેમ, ક્રિયાઓ તમને વર્ડપ્રેસ વિનંતીના અમલ દરમિયાન ચોક્કસ બિંદુએ કેટલીક ક્રિયા કરવા દે છે.

આને વધુ સારી રીતે સમજાવવા માટે, ચાલો એક ઉદાહરણ જોઈએ.

વર્ડપ્રેસ થીમ ડેવલપ કરતી વખતે, વિવિધ પોસ્ટ ફોર્મેટ માટે સપોર્ટ સક્ષમ કરવાનું શક્ય છે.

તમે વર્ડપ્રેસ ડેવલપર ડોક્યુમેન્ટેશનના એડવાન્સ એડમિનિસ્ટ્રેશન વિભાગમાં પોસ્ટ ફોર્મેટ્સ વિશે વધુ વાંચી શકો છો.

પોસ્ટ ફોર્મેટ્સ એ એક્સેસ ધરાવતા વપરાશકર્તાઓને ફોર્મેટની પૂર્વવ્યાખ્યાયિત સૂચિમાંથી પસંદ કરવા માટે વર્ડપ્રેસ બાજુ પર પોસ્ટ્સ બનાવવાની મંજૂરી આપવાનો એક માર્ગ છે. પસંદ કરેલ પોસ્ટ ફોર્મેટના આધારે, પોસ્ટને અલગ ફોર્મેટમાં પ્રદર્શિત કરીને, એક અલગ ટેમ્પલેટ લેઆઉટ રેન્ડર કરી શકાય છે.

પોસ્ટ ફોર્મેટ્સને સક્ષમ કરવા માટે, દસ્તાવેજીકરણ સૂચવે છે કે તમારે add_theme_support ફંક્શનનો ઉપયોગ કરવાની જરૂર છે, અને ભલામણ કરે છે કે આ after_setup_theme ક્રિયા હૂક દ્વારા નોંધાયેલ છે.

થીમ લોડ થયા પછી, આ હૂક wp-settings.php ફાઇલમાં વ્યાખ્યાયિત થયેલ છે.

do_action( 'after_setup_theme' );

અહીં do_action ફંક્શન ક્રિયા હૂકને વ્યાખ્યાયિત કરે છે, હૂક નામ after_setup_theme સાથે.

અમે આ હૂક વિશે વધુ વાંચી શકીએ છીએ, વિકાસકર્તા સંદર્ભમાં આ હૂક માટેના સંદર્ભ પૃષ્ઠમાં.

અહીં આપણે જોઈએ છીએ કે આ હૂક દરેક પેજ લોડ દરમિયાન, થીમ શરૂ થયા પછી ફાયર કરવામાં આવે છે, અને તેનો ઉપયોગ થીમ માટે મૂળભૂત સેટઅપ, નોંધણી અને પ્રારંભ ક્રિયાઓ કરવા માટે થાય છે.

ક્રિયા હુક્સનો ઉપયોગ કરીને

ક્રિયાનો ઉપયોગ કરવા માટે, તમે તમારા કોડમાં ફંક્શનને પૂર્વ-અસ્તિત્વમાં રહેલા ક્રિયા હૂક પર રજીસ્ટર કરો છો, જે કૉલબેક ફંક્શન તરીકે ઓળખાય છે.

તમારા કૉલબેક ફંક્શનને ક્રિયા પર રજીસ્ટર કરવા માટે તમે વર્ડપ્રેસ add_action ફંક્શનનો ઉપયોગ કરો છો.

તમારે add_action ફંક્શનમાં દલીલો તરીકે હૂક નામ અને તમારા કૉલબેક ફંક્શનનું નામ પાસ કરવાની જરૂર પડશે.

થીમની functions.php ફાઇલમાં આ કેવું દેખાય છે તેના પર એક નજર કરીએ.

તમારા કોડ એડિટરમાં, તમારી હાલમાં સક્રિય થીમની functions.php ફાઇલ પર નેવિગેટ કરો અને તેને ખોલો.

જો તમારી થીમમાં functions.php ફાઇલ નથી, તો તમે તમારી થીમ ડિરેક્ટરીના રુટમાં એક બનાવી શકો છો. ફક્ત ખાતરી કરો કે તેનું નામ functions.php છે, અને ફાઇલની ટોચ પર ઓપનિંગ PHP ટેગ છે.

પછી, after_setup_theme ક્રિયા હૂકમાં કૉલબેક ફંક્શનને હૂક કરવા માટે તમારી functions.php ફાઇલમાં નીચેનો કોડ ઉમેરો.

add_action( 'after_setup_theme', 'wp_learn_setup_theme');

આગળ તમારે કૉલબેક કાર્ય વ્યાખ્યાયિત કરવાની જરૂર છે.

કરવા માટે, તમે જે ફંક્શનને વ્યાખ્યાયિત કરવા માંગો છો તેના નામ સાથે, PHP ફંક્શન સિન્ટેક્સનો ઉપયોગ કરો.

function wp_learn_theme_setup() {

}

પછી કૉલબેક ફંક્શનની અંદર add_theme_support ફંક્શન કૉલ ઉમેરો. આ ઉદાહરણ માટે, તમે પોસ્ટ ફોર્મેટ્સ દસ્તાવેજીકરણમાંથી કોડની નકલ કરી શકો છો.

function wp_learn_theme_setup() {
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
}

તમારા એક્ટિવમાં આ કોડ વડે, જો તમે હવે તમારા વર્ડપ્રેસ ડેશબોર્ડમાં નવી પોસ્ટ બનાવો છો, તો તમને પોસ્ટ એડિટરમાં પોસ્ટ ફોર્મેટ્સ સિલેક્ટ બોક્સ દેખાશે, અને તમે જરૂરી પોસ્ટ ફોર્મેટ પસંદ કરી શકો છો.

અહીં તમે તમારા કૉલબેક ફંક્શનમાં સક્ષમ કરેલ બે પોસ્ટ ફોર્મેટ જોઈ શકો છો.

જેમ તમે આ ઉદાહરણમાંથી શીખ્યા તેમ તમે કંઈક કરવા માટે ક્રિયાઓનો ઉપયોગ કરી શકો છો, કાં તો પહેલાથી અસ્તિત્વમાં છે તે સુવિધાને સક્ષમ કરીને અથવા વિનંતીના અમલીકરણમાં કંઈક ઉમેરી શકો છો.

વર્ડપ્રેસ હુક્સ

વર્ડપ્રેસમાં સૌથી વધુ ઉપયોગમાં લેવાતી ડેવલપર સુવિધાઓમાંની એક તેની હુક્સ સિસ્ટમ છે.

હુક્સ એ વર્ડપ્રેસને ખૂબ વિસ્તૃત બનાવે છે, અને તમને વર્ડપ્રેસ ના પાયા પર, બ્લોગથી ઑનલાઇન ઈકોમર્સ પ્લેટફોર્મ સુધી કંઈપણ બનાવવાની મંજૂરી આપે છે.

ચાલો હુક્સ શું છે, તેઓ કેવી રીતે કાર્ય કરે છે અને તમે તમારી વર્ડપ્રેસમ થીમ્સ અને પ્લગિન્સમાં તેનો ઉપયોગ કેવી રીતે કરી શકો છો તે વિશે જાણીએ.

હુક્સ શું છે?

હુક્સ તમારી થીમ અથવા પ્લગિન કોડને ચોક્કસ, પૂર્વવ્યાખ્યાયિત સ્થળો પર વર્ડપ્રેસ વિનંતીના અમલ સાથે ક્રિયાપ્રતિક્રિયા કરવા અથવા તેમાં ફેરફાર કરવાની મંજૂરી આપે છે.

બે પ્રકારના હુક્સ, ક્રિયા હુક્સ અને ફિલ્ટર હુક્સ છે. આ વધુ સામાન્ય રીતે ક્રિયાઓ અને ફિલ્ટર્સ તરીકે ઓળખાય છે.

હુક્સ કેવી રીતે કામ કરે છે તે સમજવા માટે, ચાલો જોઈએ કે વર્ડપ્રેસ કોરમાં હૂક કેવી રીતે વ્યાખ્યાયિત કરવામાં આવે છે.

હુક્સ કેવી રીતે કામ કરે છે

વર્ડપ્રેસ ફ્રન્ટ-એન્ડ રિક્વેસ્ટ લેસનમાં, તમે wp-settings.php ફાઇલ વિશે અને આ ફાઇલ વર્ડપ્રેસ એન્વાયર્નમેન્ટ કેવી રીતે સેટ કરે છે તે વિશે શીખ્યા.

જો તમે આ ફાઇલની લગભગ 643 લાઇન પર નીચે સ્ક્રોલ કરો છો, તો તમને નીચેની કોડની લાઇન દેખાશે:

do_action( 'init' );

અહીં do_action ફંક્શન ક્રિયા હૂકને વ્યાખ્યાયિત કરે છે, હૂક નામ init સાથે.

તમે આ હૂક વિશે વધુ વાંચી શકો છો, પ્રારંભિક હૂક દસ્તાવેજીકરણમાં

વિકાસકર્તા તરીકે, તમે આ ક્રિયામાં જોડાઈ શકો છો, અને જ્યારે આ init ક્રિયા ફાયર કરવામાં આવે ત્યારે તમારો પોતાનો કોડ ચલાવી શકો છો.

તે અનિવાર્યપણે તે સમયે wp-settings.php ફાઇલની અંદર તમારો પોતાનો કોડ ઉમેરવામાં સમર્થ થવા જેવું છે, પરંતુ વાસ્તવમાં મુખ્ય ફાઇલમાં ફેરફાર કર્યા વિના.

તમે હુક્સનો ઉપયોગ કેવી રીતે કરી શકો છો

વર્ડપ્રેસમાં તમારી પોતાની કાર્યક્ષમતા ઉમેરવા અથવા મૂળભૂત કાર્યક્ષમતાને સંશોધિત કરવા માટે તમે તમારી વર્ડપ્રેસ થીમ્સ અને પ્લગિન્સમાં હુક્સનો ઉપયોગ કરી શકો છો.

આને ક્રિયામાં જોવા માટે, ચાલો એક સરળ ઉદાહરણ બનાવીએ કે તમે પોસ્ટની સામગ્રીને સંશોધિત કરવા માટે કેવી રીતે ફિલ્ટર હૂકનો ઉપયોગ કરી શકો છો.

આ કરવા માટે, તમે એક નાનું પ્લગિન બનાવવા જઈ રહ્યાં છો. જો તમે પહેલાં ક્યારેય પ્લગિન્સ સાથે કામ કર્યું ન હોય તો ચિંતા કરશો નહીં, પરંતુ તેમના વિશે વધુ જાણવા માટે પ્લગિન્સ મોડ્યુલનો પરિચય તપાસો.

હમણાં માટે, તમારા કોડ એડિટરમાં, તમારી wp-content/plugins ડિરેક્ટરીમાં બ્રાઉઝ કરો અને wp-learn-hooks.php નામની નવી ફાઇલ બનાવો.

પછી, આ ફાઇલમાં નીચેનો કોડ ઉમેરો:

<?php
/**
* Plugin Name: WP Learn Hooks
* Description: A simple plugin to demonstrate how to use hooks in WordPress.
* Version: 1.0
*/

add_filter( 'the_content', 'wp_learn_amend_content' );

function wp_learn_amend_content( $content ) {
return $content . '<p>Thanks for reading!</p>';
}

હવે, તમારા સ્થાનિક વર્ડપ્રેસ ઇન્સ્ટોલેશનના વર્ડપ્રેસ એડમિન પર બ્રાઉઝ કરો, પ્લગિન પર જાઓ અને તમારા નવા પ્લગિનને સક્રિય કરો.

પછી, તમારી સાઇટના આગળના છેડે બ્રાઉઝ કરો અને કોઈપણ પોસ્ટ અથવા પૃષ્ઠ જુઓ. આ ઉદાહરણમાં, હું નમૂના પૃષ્ઠ જોવા જઈ રહ્યો છું.

તમે જોશો કે પૃષ્ઠની સામગ્રીમાં હવે “વાંચવા બદલ આભાર!” લખાણ છે. તેના અંતમાં ઉમેરવામાં આવે છે.

જો તમે પ્લગિન નિષ્ક્રિય કરો છો, તો ટેક્સ્ટ અદૃશ્ય થઈ જશે.

નિષ્કર્ષ

પોસ્ટની સામગ્રીને સંશોધિત કરવા માટે તમે કેવી રીતે ફિલ્ટર હૂકનો ઉપયોગ કરી શકો છો તેનું આ એક સરળ ઉદાહરણ છે.

ચિંતા કરશો નહીં જો આમાંથી કોઈ પણ અત્યારે અર્થમાં નથી, કારણ કે અમે આને ક્રિયા હુક્સ અને ફિલ્ટર હુક્સ પરના પાઠોમાં વધુ વિગતવાર આવરીશું.

Quiz time

The last four modules of this pathway covered common WordPress developer tasks, including securing your code, internationalizing it, working with WordPress multisite, and debugging your code.

It’s time to wrap up your learning journey with one final quiz.

Time to test your skills

In the four preceding modules, you learned about the four main ways to extend WordPress, namely:

  • Hooks
  • Themes
  • Plugins
  • Blocks

Now take the following quiz to test your knowledge of extending WordPress.

Test your knowledge

So far, you’ve learned how WordPress works, the tools you require to develop with WordPress locally, and the five programming languages of WordPress. It’s time to take a break with a short quiz.