tag:blogger.com,1999:blog-20115728039944534422024-02-08T04:11:20.955-08:00Wordpress Development Blog jitendrahttp://www.blogger.com/profile/10952413614506334388noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-2011572803994453442.post-63658659198379359582022-01-27T08:36:00.005-08:002022-01-27T13:09:14.893-08:00Plugins : Why you should keep yourself from re-inventing the wheel. Top 5 WordPress plugins you should keep in your toolbox if needed.<p> WordPress was built as a framework/cms for personal blogging in the focus, but as the times passed the extensibility of the platform with plugins make it frequently used for CMS, E-commerce, Forums, Digital-marketplace, directory and what not.</p><p>The proven success of the WordPress has mostly be due to its plugin system. WordPress plugins system.</p><p>Seen the others, many time when developer starts a new site he frequently starts to make the plugin which has already a better and well maintained alternative in WordPress Eco-system. </p><h4 style="text-align: left;">Hassles with custom plugins:</h4><p>Custom made plugins are mostly made with specific purpose in mind. They needed to be patched, updated and maintained with ongoing WordPress update cycles. If not maintained properly, a newly found security vulnerability may even lead to your site to be hacked.</p><p>On flip side, if you use a well maintained WordPress plugin, you get the added benefit of regular security updates, updates with internal WordPress apis and wide community of existing users who can help you solve any technical problem if ever needed.</p><p>So, If you have a functionality which you need to implemented and that is already available with some reputed well maintained plugin in WordPress, I highly recommend you to go with this route.</p><p>Here are five plugins which I highly recommend to avoid re-inventing the wheel.</p><h3 style="text-align: left;">1. Contact Form 7:</h3><p><a href="https://ps.w.org/contact-form-7/assets/screenshot-1.png?rev=1176454"><img alt="" height="221" src="https://ps.w.org/contact-form-7/assets/screenshot-1.png?rev=1176454" width="400" /></a> </p><p>Almost all the website rather static or dynamic do feature a contact us page, where visitor can send their message to website owner. WordPress does not have in built form builder, and does not out of box support this functionality. Rather than hacking your function.php file or create a new custom plugin to make this happen, you should use Contact Form 7 WordPress plugin.</p><p>This plugin directly send the received message to your email address.</p><h3 style="text-align: left;"><b>2. WooCommerce</b></h3><h3 style="text-align: left;"><b> </b></h3><div class="image-gallery-slide center" style="transform: translate3d(0%, 0px, 0px); z-index: 3;"><figure class="image-gallery-image"><a href="https://ps.w.org/woocommerce/assets/screenshot-1.jpg?rev=2366418"><img alt="" height="220" src="https://ps.w.org/woocommerce/assets/screenshot-1.jpg?rev=2366418" width="400" /></a></figure></div><p style="text-align: left;">WooCommerce is a plugin by Automattic, which let you add the e-commerce functionality to your existing blog without requiring you have hassle of doing all the complex stuffs related to the e-commerce platforms. WooCommere supports all the types of the products including physical products, Digital products, Virtual products and products with variants. </p><p style="text-align: left;">If you want some functionality in your WooCommerce store, chances are there already exists the plugin to help you add that functionality to you store. You can add payment providers, gallery, tutorial typed product, subscription, shipping and most of all other functionality you can think about readily available in both free and premium supported models. </p><h3 style="text-align: left;"><b>3. Advanced Custom Fields</b></h3><h3 style="text-align: left;"><b> </b><a href="https://ps.w.org/advanced-custom-fields/assets/screenshot-1.jpg?rev=1729093"><img alt="" height="252" src="https://ps.w.org/advanced-custom-fields/assets/screenshot-1.jpg?rev=1729093" width="400" /></a></h3><p style="text-align: left;">If you are using wordpress for purpose other than the blogging, chances are you may frequently need to have an additional field or multiple fields to add related data to the post. There exists the way to create those fields manually by coding in function.php with custom post types but Advanced Custom Fields plugin already comes with all the most needed fields already available with multiple datatypes and formats which you may need.<br /></p><p style="text-align: left;">Using this plugin, you can save hours of the repetitive work, lessen project complexity at the same time make your website compatible with ongoing platform updates and new features.</p><h3 style="text-align: left;">4. Bbpress</h3><h3 style="text-align: left;"><a href="https://ps.w.org/bbpress/assets/screenshot-1.png?rev=872931"><img alt="" height="243" src="https://ps.w.org/bbpress/assets/screenshot-1.png?rev=872931" width="400" /> </a></h3><p style="text-align: left;">Forums and discussion boards takes the notable part of the internet content, And there are many cases where you might need to have a forum or discussion board connected with your website.</p><p style="text-align: left;">Bbpress is a free WordPress plugin which allows you to easily add forum to your existing website with minimal efforts.It gives you full control over the features and functionality of the forum.</p><p style="text-align: left;">It has many notable features including multi-forum site, spam protection, user generated content section, plugin support, role management, theming, RSS feed support etc. </p><p style="text-align: left;">If you need a bulletin board with trusted history of performance, bbpress is perfect option.</p><h3 style="text-align: left;">5. Jetpack</h3><h3 style="text-align: left;"> <a href="https://ps.w.org/jetpack/assets/screenshot-1.png?rev=2394525"><img alt="" height="263" src="https://ps.w.org/jetpack/assets/screenshot-1.png?rev=2394525" width="400" /></a></h3><p style="text-align: left;">Unlike other plugins fulfilling single responsibility, Jetpack is a collection of utilities which adds the desired functionalities to your website. </p><p style="text-align: left;">The jetpack plugin packs many utilities which provides various functionalities like contact forms, CDN service, Email subscription, social sharing, security etc. Its built by Automattic, the same company which is behind the development of WordPress. <br /></p><h3 style="text-align: left;"><br /></h3>jitendrahttp://www.blogger.com/profile/10952413614506334388noreply@blogger.comtag:blogger.com,1999:blog-2011572803994453442.post-76237252387351295432022-01-23T13:15:00.001-08:002022-01-23T13:15:49.338-08:00What is functions.php file in wordpress? 3 scenario where we can use it.<p>In this article we will see the functions.php file, how it works and how you can use it.<br /><br />WordPress is known for being very customizable and flexible using the plugins system. But many a times we want to add the functionality to the theme or we want to add few small changes for which we do not want to add a plugin.<br />In that case WordPress' function.php is used. In latest premium WordPress themes the functions.php works as the main engine driving features and flexibility of the theme without requiring any external plugins, beside it is popularly used for injecting small codes like google analytics, fonts API, custom scripts, site wide hooks and filters.<br /><br />Functions.php resides in the root directory of the WordPress theme. you can use all the functions of WordPress inside it just like the plugins. But as its tied to the WordPress theme, If you change the theme your changes will be lost. WordPress development guide does not recommend to directly change the core/original files of the theme which may lead to dependency hell in case of update is required, to avoid such scenario we can use child themes.<br />Child themes act as the modifier theme of the original theme, here we can define any change or overload the default functionalities and theme settings without changing the original theme. </p><p>Here are five such cases where it can be used.</p><h3 style="text-align: left;">1)Adding Google analytics to WordPress blog</h3><p style="text-align: left;">There are many ways to add google analytics to the WordPress blog, but most of the times it is unnecessory to use a plugin for that, we can use following code in functions.php file to add google analytics to the site:</p><p style="text-align: left;"><code></p><figure class="highlight l-block m-0">
<code class="language-html hljs xml l-block">
<span class="l-block"><?php</span> </code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block"> add_action('wp_head', 'theme_prefix_add_googleanalytics');</span></code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block"> </span>
<span class="l-block">function wpb_add_googleanalytics() { </span></code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block"> ?></span></code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block"> </span>
<span class="l-block m-top-3">// Insert your Google Analytics Tracking ID</span> </code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block m-top-3"><?php } ?></span>
</code>
</figure><p style="text-align: left;"></code></p><h3 style="text-align: left;">2) Displaying Post length in words<br /></h3><figure class="highlight l-block m-0">
<code class="language-html hljs xml l-block">
<span class="l-block"><code> <br /></span></code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block"><?php </span></code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block">function theme_prefix_count_post_words(){</span></code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block"> </span>
<span class="l-block m-left-3">$content = get_post_field( 'post_content', $post->ID );</span> </code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"> <span class="l-block m-left-3">$word_count = str_word_count( strip_tags( $content ) );</span> </code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"> return $word_count;</code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block">}</span></code> </figure><figure class="highlight l-block m-0"></code></figure><figure class="highlight l-block m-0">This function needs to be called, we can create either a filter or modify the template file, </figure><figure class="highlight l-block m-0">for doing so, just find the files single.php(or which ever applicable), copy it and place it in the same relative position in child theme. once doe just add the following code to print the word count at desired location.</figure><figure class="highlight l-block m-0"><code></figure><figure class="highlight l-block m-0"><code class="language-html hljs xml l-block"><span class="l-block">echo theme_prefix_count_post_words();</span></code> <br /></figure><figure class="highlight l-block m-0"></code> </figure><figure class="highlight l-block m-0" style="text-align: left;"><h3 style="text-align: left;">3) Injecting the stylesheet inside header.<br /></h3></figure><figure class="highlight l-block m-0">Suppose you want to add the bootstrap css files inside your wordpress theme, to do so using the functions.php file, Just add the following code inside the functions.php file.</figure><figure class="highlight l-block m-0"><code></figure><figure class="highlight l-block m-0"><pre class="default s-code-block"><code class="hljs language-php"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">theme_prefix_enqueue_scripts</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-comment">// Add boot strap style css files</span>
wp_enqueue_style( <span class="hljs-string">'bootstrap'</span>, get_stylesheet_directory_uri() . <span class="hljs-string">'/css/bootstrap.css'</span>, <span class="hljs-keyword">array</span>());
wp_enqueue_style( <span class="hljs-string">'theme-style'</span>, get_stylesheet_directory_uri() . <span class="hljs-string">'/css/style.css'</span>, <span class="hljs-keyword">array</span>());
<span class="hljs-comment">// all scripts</span>
wp_enqueue_script( <span class="hljs-string">'bootstrap'</span>, get_template_directory_uri() . <span class="hljs-string">'/js/bootstrap.min.js'</span>, <span class="hljs-keyword">array</span>(<span class="hljs-string">'jquery'</span>), <span class="hljs-string">'20120206'</span>, <span class="hljs-literal">true</span> );
wp_enqueue_script( <span class="hljs-string">'theme-script'</span>, get_template_directory_uri() . <span class="hljs-string">'/js/scripts.js'</span>, <span class="hljs-keyword">array</span>(<span class="hljs-string">'jquery'</span>), <span class="hljs-string">'20120206'</span>, <span class="hljs-literal">true</span> );
}
add_action( <span class="hljs-string">'wp_enqueue_scripts'</span>, <span class="hljs-string">'your_theme_enqueue_scripts'</span> );</code></pre> </figure><figure class="highlight l-block m-0"></code><br /></figure>jitendrahttp://www.blogger.com/profile/10952413614506334388noreply@blogger.comtag:blogger.com,1999:blog-2011572803994453442.post-43225992177076786482022-01-10T08:37:00.000-08:002022-01-23T13:17:08.630-08:00How to create own Custom Post Type in wordpress <div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
Mostly people think that WordPress is yet another blogging platform, but they don’t know that WordPress as evolved and, is being used for pretty much everything we can expect, that includes as e-commerce platform, online marketplace, blogging, corporate websites, real estate portals, forums, SAAS dashboard etc.,<br />
<br />
One of the biggest reason of this success is the custom post types feature provided by the WordPress. In WordPress everything is a post, including every page and blog post. WordPress by default supports only few post types. However we can create as many custom post types as we want in the WordPress. In this article<br />
<br />
we will show how can you create a custom post type in WordPress from scratch.<br />
<br />
<br />
<h3 style="text-align: left;">
What is a Custom-post Type in WordPress?</h3>
Custom post types are the user defined post types that do not come bundled with the default WordPress installations.<br />
The user has to add this post type by either custom developed WordPress theme or a custom made plug in to enhance the functionality of the WordPress blog beyond the normal. By default WordPress comes with the following post types<br />
<ol style="text-align: left;">
<li> Post</li>
<li> Page</li>
<li> Nav Menu</li>
<li> Attachment</li>
<li> Revision</li>
</ol>
You can create your own post type and call them wherever you want ex. If you are developing a cooking – recipe website, you can create a custom post type called recipe which will accept cover images and recipe ingredients.<br />
<br />
We can enhance it with many custom fields and even custom fields. There are many use cases where the custom post type makes sense like, portfolio, Testimonial, E-commerce Product Listing, Polls etc.<br />
<br />
For creating a custom post types we have two options<br />
1. Using default functions.php file to hook a post type<br />
2. Creating a new plug-in for the functionality<br />
<br />
Both the method works well with the implementations, however, it is recommended to make a plug-in for a custom pos type unless the plug-in itself is not highly dependent on the functionality of the included theme.<br />
<br />
The main problem with registering the custom types in the functions.php is that we have to take the backup every time we update the theme or manually add the functionality to new theme every time we change the theme.<br />
<br />
But, if you use plug-in to define the custom post type you don’t have to bother too about the custom post types when updating and changing the theme.<br />
Let’s get started with the basic function,<br />
<br /></div>
<pre class="prettyprint">// Custom post type function
function create_custom_post_type_recipes() {
register_post_type( 'recipes',
//Custom post types options
array(
'labels' => array(
'name' => __( 'Recipes' ),
'singular_name' => __( 'Recipe' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'recipes'),
)
);
}
// Adding a hook to trigger the function
add_action( 'init', ' create_custom_post_type_recipes ' ); </pre>
<pre class="prettyprint"> </pre>
In above code, we have added a function to register the custom post type recipes in WordPress. The function accepts the array of argument for configurations, the labels indicates singular and plural form of the post type display names.<br />
<br />
The other options are used to extend the behaviour of the post type, like changing the url structure and its public visibility.<br />
<br />
We can add many more feature to the post types including the translation ready labels,<br />
<br /></div>
<pre class="prettyprint">/*
* Custom post type function
*/
function create_custom_post_type_recipes() {
// Set UI labels for Custom Post Type
$labels = array(
'name' =&gt; _x( 'Recipes', 'Post Type Name',</pre>
<pre class="prettyprint"> 'themedomain' ),
'singular_name' =&gt; _x( 'Recipe', 'Post Type Singular Name',</pre>
<pre class="prettyprint"> 'themedomain' ),
'menu_name' =&gt; __( 'Recipes', 'themedomain' ),
'parent_item_colon' =&gt; __( 'Parent Recipe', 'themedomain' ),
'all_items' =&gt; __( 'All Recipes', 'themedomain'),
'view_item' =&gt; __( 'View Recipe', 'themedomain' ),
'add_new_item' =&gt; __( 'Add New Recipe', 'themedomain' ),
'add_new' =&gt; __( 'Add New', 'themedomain' ),
'edit_item' =&gt; __( 'Edit Recipe', 'themedomain' ),
'update_item' =&gt; __( 'Update Recipe', 'themedomain' ),
'search_items' =&gt; __( 'Search Recipe', 'themedomain' ),
'not_found' =&gt; __( 'Not Found', 'themedomain' ),
'not_found_in_trash' =&gt; __( 'Not found in Trash',</pre>
<pre class="prettyprint"> 'themedomain' ),
);
// Few other options for Custom Post Type
$args = array(
'label' =&gt; __( 'recipes', 'themedomain' ),
'description' =&gt; __( 'Recipe Details', 'themedomain' ),
'labels' =&gt; $labels,
// Features that a custom post type should support into the post editor
'supports' =&gt; array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
// Here we can create the custom taxonomies for the custom post type for easy listing. Like a recipe can be of different course, dinner, lunch or breakfast
'taxonomies' =&gt; array( 'course' ),
// If we have a hierarchical custom post where we can set up the parent child relationship, we can use this option as true
'hierarchical' =&gt; false,
'public' =&gt; true,
'show_ui' =&gt; true,
'show_in_menu' =&gt; true,
'show_in_nav_menus' =&gt; true,
'show_in_admin_bar' =&gt; true,
'menu_position' =&gt; 4,
'can_export' =&gt; true,
'has_archive' =&gt; true,
'exclude_from_search' =&gt; false,
'publicly_queryable' =&gt; true,
'capability_type' =&gt; 'page',
);
// Registering your Custom Post Type
register_post_type( 'recipes', $args );
}
add_action( 'init', 'create_custom_post_type_recipes', 0 );
</pre>
The above code will add features like featured images, custom fields support, revision, etc.<br />
We also added a custom taxonomy called course to allow better categorization of the recipes.<br />
<br />
The recipes we want to add does not include hierarchical relationship like parent and child, but if you want to add some sub recipe of sauces or a tangy starter with the recipe you are always welcomed to make them hierarchical.<br />
The WordPress allows us to make our themes and plug-ins ready for translation. For this we has to use something called text domain. Here as you can see, we have many time returned word themedomain that is called the text domain.<br />
<br />
You can change the textdomain in of your theme inside the style sheet named style.css which is inside your root directory of your theme.<br />
<br />
Now we have accomplished the task of recognizing of our custom post type by the WordPress, but we still need to tell WordPress how should it display the custom post type.<br />
<br />
There are two method of displaying your custom post type inside the website<br />
1. WordPress Default page and Archive template<br />
2. Custom Post Type single.php and archive.php<br />
<br />
Display using default Archive Template<br />
<br />
WordPress out of the box supports the basic display of the custom post types. The easiest method to see it in the action is to follow the general WordPress hierarchical url pattern.<br />
Use http://yourdomain.com/recipes/<br />
<br />
In case you are not using the custom permalinks you can also use the default post archive url like this,<br />
<br />
http://yourdomain.com/?post_type=recipes<br />
<br />
replace the post type value with your custom post type. Now visit the link, You will see the default archive.php page of your theme which is listing the post of your custom post type.<br />
<h3 style="text-align: left;">
<b> </b></h3>
<h3 style="text-align: left;">
<b>Using Custom Single and Archive Templates for Custom Post Type</b></h3>
<br />
If you don’t like the default appearance of the custom post type page, you can easily create a custom archive template.<br />
<br />
For this you will have to create a file called archive-{posttype}.php in the root directory of your theme, where you should replace the posttype with the name of your custom post type. In this case we will create a file called archive-recipes.php.<br />
<br />
The easiest way to do is to copy the default archive page and make a new copy with name archive-recipes.php. Now edit the template according to your own requirements. So now whenever the request to your custom post type archive page is made WordPress will automatically pickup the archive-recipes.php and display it to the user.<br />
<br />
Follow the same steps to create the single-recipes.php file. This files will be called whenever a user will request to view the single recipe.<br />
<br />
This was all basic stuffs, now we will see one quick case how we can use it.<br />
<h3 style="text-align: left;">
</h3>
<h3 style="text-align: left;">
Displaying Latest posts from Custom Post Types on your Home Page</h3>
<br />
WordPress generally does not mix the content of your custom post type with the default post. Suppose you want to Display the latest three recipes on your homepage, only thing you have to do is add the following code inside your functions.php file<br />
</div>
<pre class="prettyprint">add_action( 'pre_get_posts', 'get_latest_recipes' );
function get_latest_recipes( $query ) {
if ( is_home() && $query->is_main_query() )
$queryObject = new WP_Query( 'post_type=recipes&posts_per_page=3' );
// The Loop!
if ($queryObject->have_posts()) {
while ($queryObject->have_posts()) {
$queryObject->the_post();
?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br/>
<?php
}
?>
}
</pre>
Replace the query parameter recipes with your custom post type name.<br />
We hope that this article will help you the way WordPress uses the custom post type feature.<br />
<br />
If you liked this article, then subscribe to our blog feeds.<br />
Any suggestions are welcomed in comment section.</div>
jitendrahttp://www.blogger.com/profile/10952413614506334388noreply@blogger.comtag:blogger.com,1999:blog-2011572803994453442.post-65206522356178669412021-12-25T11:59:00.000-08:002022-01-23T13:17:33.902-08:00Starting Wordpress Development<div dir="ltr" style="text-align: left;" trbidi="on">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>GU</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:Shruti;
mso-bidi-theme-font:minor-bidi;
mso-bidi-language:AR-SA;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<br /></div>
<h2 class="MsoNormal" style="text-align: left;">
How to start WordPress Development</h2>
<div class="MsoNormal">
Are you a web developer and has frequently seen the word WordPress
with blogging topics? Want to take the WordPress development as a career, you
can go ahead. WordPress was initially made as a blogging platform, but
extensibility and wide user base of the platform has made it the real giant. WordPress
today is the most used CMS in the world. There are many popular websites with
millions of visitors are made with WordPress. So we can assume it is not going
anywhere sooner.</div>
<div class="MsoNormal">
So, first you should gauge your skills, </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>At which level you consider yourself.</b></div>
<div class="MsoNormal">
Have you ever used WordPress before?, are you a blogger who
uses WordPress but don’t know its internals? Are you a web template maker who
wishes to go ahead and continue the WordPress<span style="mso-spacerun: yes;">
</span>theme development as a Career.</div>
<div class="MsoNormal">
So, let’s decide your level</div>
<div class="MsoNormal">
<br />
<b>Beginner </b></div>
<div class="MsoNormal">
<ul style="text-align: left;">
<li>Has no coding
experience at all.</li>
<li>Has no or little knowledge of HTML/CSS/JS</li>
<li>No experience with any programming language or has no code
editing skills</li>
</ul>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Intermediate</b></div>
<div class="MsoNormal">
<ul style="text-align: left;">
<li><span style="mso-spacerun: yes;"> </span>Know the basic web development
stuffs – has coded in HTML and css<span style="mso-spacerun: yes;"> </span></li>
<li><span style="mso-spacerun: yes;"> </span>Like to play with
the structural part of the WordPress / html themes</li>
<li> No programming knowledge </li>
</ul>
</div>
<div class="MsoNormal">
<b>Advanced Rookie developer (Open to alternate suggestions)</b></div>
<div class="MsoNormal">
<ul style="text-align: left;">
<li><span style="mso-spacerun: yes;"> </span>You know basic
frontend development (HTML/CSS/JS)<span style="mso-spacerun: yes;"> </span></li>
<li><span style="mso-spacerun: yes;"> </span>You know basic PHP
and you can edit code.</li>
</ul>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<h3 style="text-align: left;">
Beginner Developer:</h3>
</div>
<div class="MsoNormal">
The complete beginner are those who has zero knowledge about
the code or even html –css stuffs</div>
<div class="MsoNormal">
You have a lot of the work to do, First get familiar with
the web and how it works.</div>
<div class="MsoNormal">
Know the basics about how browsers work and how contents are
rendered into the browser. You can also setup the web development environment
in your own computer; The only thing you should install is a software stack for
php development,</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
Environment for Windows Users</h4>
</div>
<div class="MsoNormal">
If you are using some version of the windows operating system,
then you have many options to choose from. There are two options which I will
show you.<br />
</div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">1.<span style="font: 7.0pt "Times New Roman";">
</span></span></span><b>Wamp Server</b> – Wamp server is the complete mysql
, php development environment which allows you to code and develop <span style="mso-spacerun: yes;"> </span>web applications on your own computer</div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">2.<b><span style="font: 7.0pt "Times New Roman";">
</span></b></span></span><b>Xampp Server</b> – Pretty much same as wamp</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
For Mac User</h4>
</div>
<div class="MsoNormal">
<span style="mso-spacerun: yes;"> </span>If you are using
some version of the mac OS, you can install MAMP which can be dubbed as Mac
Apache Mysql PHP.<br />
</div>
<div class="MsoNormal">
Using these local development softwares, you can quickly
code, deploy and test your code locally. If you are complete beginner, you can
use some recommended sources like Code Academy and Udemy.<br />
</div>
<div class="MsoNormal">
As on now, most of the modern browser are well equipped with
developer console and dom inspector tools which are great advantages compared
to few years back. You can use chrome inspector, Firefox developer tool,
scratch pad even debug the running JavaScript.</div>
<div class="MsoNormal" style="text-align: left;">
<h3>
For Intermediate User:</h3>
</div>
<div class="MsoNormal">
These are the people who are not actually new to the web
development, but somewhat familiar with the HTML and CSS works. You can use
some fancy tools like Code editors, IDE or Basic text based code editors. You
know how to use the browser inspect and debugging feature to minimal. You know
what php is (but may not how it works), you can put some php variables in to
templates as directed by a developer or shown in the template manuals.<br />
</div>
<div class="MsoNormal">
In the above case, you are an intermediate user. The first thing
you should do is install php development environment in your pc.(check above
point)</div>
<div class="MsoNormal">
<br />
Learn basic server-side web development. Make small
php-mysql website, create registration form, some posting, user management
(CRUD operations).<span style="mso-spacerun: yes;"> </span>Once you get little
confidence try moving up towards the image manipulation (use library) and file
management.<span style="mso-spacerun: yes;"> </span>Learn a little by little
about functional and OOP based php web development methodology. <span style="mso-spacerun: yes;"> </span>Some resources are,<br />
</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
Code Academy</h4>
<h4 style="text-align: left;">
</h4>
</div>
<div class="MsoNormal">
Code Academy has some really quick and effective php
development tutorials with basic code examples.</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
</h4>
<h4 style="text-align: left;">
Codecource </h4>
</div>
<div class="MsoNormal">
<br />
Code course is a free source of the php web development
tutorial. The course offers many different view of working on php with great
content.</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
</h4>
<h4 style="text-align: left;">
Treehouse :</h4>
</div>
<div class="MsoNormal">
<br />
Treehouse is a premium web development cources directory.
The Tree house has more than 20-25 hours of recorded video tutorials</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<h3 style="text-align: left;">
For Rookie Web developer</h3>
</div>
<div class="MsoNormal">
You know front end programming and you have the basic php
coding knowledge, you are a php Rookie developer. You are familiar with how
wordpress functions<span style="mso-spacerun: yes;"> </span>and main loop works.</div>
<div class="MsoNormal">
Start Learning Wordpress Themes and Plugins development.</div>
<div class="MsoNormal">
Now, as you know php, file handling and how the general web
development is done, you start learning WordPress theme development. You can
use<span style="mso-spacerun: yes;"> </span>online Tutorials available on the
Youtube, you can subscribe to some premium tutorial such as offered by
TreeHouse, Tut+ and Udemy, like</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<h4 style="text-align: left;">
Theme Shaper (<a href="https://themeshaper.com/">https://themeshaper.com/</a>)</h4>
</div>
<div class="MsoNormal">
<br />
Theme Shaper is official website where, the team of wordpress
theme development team from Automattic shares their thoughts and tutorial about
latest theme development trends. There are many WordPress topics covered
deeply.</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
</h4>
<h4 style="text-align: left;">
Tut+ wordpress Theme development tutorial</h4>
</div>
<div class="MsoNormal">
<br />
Tut+ is a premium web-development tutorial website, there
you can find many tutorials on developing new WordPress website and customization.
</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
</h4>
<h4 style="text-align: left;">
WordPress Codex </h4>
</div>
<div class="MsoNormal">
<br />
WordPress codex is the official functional reference to the WordPress
framework code. The site may not look promising, but it is the best source for
new beginner to start over using the WordPress in-built functions and hooks.<br />
</div>
<div class="MsoNormal">
<h3 style="text-align: left;">
Strengthen your Foundation: </h3>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Learn JavaScript and responsive
web design basics.</div>
</div>
<div class="MsoNormal">
As you start development with WordPress, you will come to
know about the different tricks required with HTML/CSS and JS.<br />
</div>
<div class="MsoNormal">
Try learning some advanced js framework like Jquery which is
by default bundled with WordPress. <span style="mso-spacerun: yes;"> </span>And
we all know that it has played a crucial role in the core WordPress usability. Play
with Jquery for a while.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Experiment with Plugin Hooks and actions, try to add new
features to your website like, custom excerpt, custom post type, tracking view
of the visitors of particular post, adding the custom advertisement between the
post content etc.</div>
<div class="MsoNormal">
<h3 style="text-align: left;">
</h3>
<h3 style="text-align: left;">
Help and Guidance </h3>
</div>
<div class="MsoNormal">
<br />
There are many blooming WordPress community, you can ask
your question on various places to find answers and get to the peers.</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
</h4>
<h4 style="text-align: left;">
Stack Overflow:<span style="font-weight: normal;"><span lang="GU" style="font-family: "shruti" , "sans-serif"; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Shruti; mso-bidi-language: GU; mso-bidi-theme-font: minor-bidi; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"> </span><span style="mso-bidi-language: GU;">Stack overflow is a programmers google for solving
their problems, here you can find answers of almost any of the currently used
tech, each of the community has really large userbase and supportive culture</span></span></h4>
</div>
<div class="MsoNormal">
<h4 style="text-align: left;">
<b><span style="mso-bidi-language: GU;"> </span></b></h4>
<h4 style="text-align: left;">
<b><span style="mso-bidi-language: GU;">Reddit</span></b></h4>
</div>
<div class="MsoNormal">
<span style="mso-bidi-language: GU;">Reddit has some dedicated
channels for the WordPress development topics.</span></div>
<div class="MsoNormal">
<br />
<span style="mso-bidi-language: GU;">Start doing WordPress development
now.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
</div>
jitendrahttp://www.blogger.com/profile/10952413614506334388noreply@blogger.com