Menu Sidebar
Menu

Introduction to WordPress Development: A Definitive Guide

WordPress is an open source CMS (content management system) website development framework written in PHP. This is probably the easiest, quickest way to develop a shiny new website by keeping the cost low. Either you are a developer or a non-geek, you can quickly build website and give a fresh look by choosing the theme and plugin of your choice.

According to a study by W3Techs, around 26.7% of websites are powered by WordPress; and around 59.3% form the total CMS market share.

WordPress was started as a personal blogging platform built on PHP and MySQL and licensed under the GPLv2. WordPress was forked from multi-user multi-blog engine called b2/cafelog. WordPress was originally developed by Matt Mullenweg and Mike Little, and currently maintained and developed by a team of developers that includes Mullenweg.

Since its first public release on May 27, 2003, WordPress is the first choice for small bloggers. However, over the time, it gained maturity to rule the web being a fully-featured content management system. Now WordPress is now a matured and stable product.

WordPress Features

WordPress is free, easy to use, and packed with excellent features. The following is a list of some of the features that come as standard with WordPress installation.

Open Source & Free Platform

WordPress is an Open Source community software. You have the freedom to modify and do whatever you like with WordPress code. You may extend it or modify to use it for commercial projects without any licensing fees.

Simple and Flexible

WordPress is simple! Whether you’re a developer or a publisher. It’s one click installation takes care of all under the hood complexities and makes it easy to setup. Simplicity makes it possible for you to get online and get publishing, quickly.

In the later chapters, we will see how to install WordPress manually and using one click installation.

With WordPress, you can create any type of website you want: a personal blog, photo blog, business website, government website, magazine or news website or an online community portal.

If you are on news or media business, you can also build a network of websites using WordPress multisite options.

Publish and Manage Content

WordPress allows you to edit, publish and manage content easily via Admin Dashboard. You may also publish content from your fingertips by downloading the Android, iOS or Desktop application.

You can create a new Posts and Pages, format them easily, insert media contents, and make it live with the click of a button. Contents can be scheduled for future to publish themselves automatically.

Other publishing tools includes, Draft auto save, post revisions, public or private posts, etc.

Like they say “A picture is worth a thousand words”, which is why, including image or video content into post always catch reader’s attention. Good use of media objects in article is also a driving factor for search engine ranking. WordPress allows users to easily upload media objects using drag and drop uploader. You can insert images, galleries, edit title, captions etc. using inbuilt image editing tools.

Introduction to WordPress Development: A Definitive Guide

Customize Look Using Themes

WordPress websites can be customized and given a fresh new look by changing the website themes. When you install WordPress, it comes with two default themes.

You can browse and choose themes from WordPress theme directory or purchase a premium theme from third party seller. Themes downloaded from third party seller, can be installed by uploading either with one click upload from WordPress dashboard or via FTP method.

WordPress Themes

User & Access Management

WordPress lets you add users with different access levels such as administrator, editor, author, contributor and subscriber. Site Admins manage the site, editors work with content, authors and contributors write that content, and subscribers have a profile that they can manage.

The user role control the level of site management granted to user, including the ability to write, edit or publish content on your site. Users with lower access roles will see limited options in the WordPress Dashboard when they are logged in.

Built-in Comments

Comments are one of the vital part of every blogging platform. Comments on blog invite readers to participate on discussions and that helps in continuous user engagement. WordPress’s inbuilt comment tools give you everything you need to start a discussion, post a reply or moderate any discussion.

wordpress-comment-form

Multilingual Support

WordPress is available in more than 70 languages. Building the website for language other than English, is super easy.

Import and Export Tools

Are you using any other blogging platforms and not happy with? Moving your existing content to WordPress is super quick with WordPress Importer tools. You can move content from blogger, Live Journal, Movable Type, TypePad, Tumblr, and other WordPress website.

If you’re ready to move away from WordPress, you can use the Export Tools to download all your content into single file. However, you still have to separately upload media and attachment files.

Extend with Plugins

The features outlined above comes with standard WordPress websites; however, there are literally thousands of plugins that extend what WordPress does, so the actual functionality is nearly limitless.

WordPress Codex Repository

The WordPress Codex is the central repository of all the information that the official WordPress team has published to help people work with WordPress.

The Codex has some basic tutorials for getting started with WordPress, such as a detailed step-by-step discussion of the installation, and lists of every template actions and hooks.

If you’re an experienced developer, you can access to Code API documentation from WordPress Developer reference site.

Why You Should Use WordPress for Your Website?

WordPress is an open source CMS (content management system) website development framework written in PHP. This is probably the easiest, quickest way to develop a shiny new website by keeping the cost low.

WordPress is not the only publishing platform to enjoy the sweet spot. There are other similar and few popular publishing platforms with lot many features to offer.

In the following section, I’ve called out some of the reasons why you should consider using WordPress:

  • Amazingly extendable: Addition to strong and stable core, WordPress is quite extendable. Themes, Plugins, Menu and Widgets give you unlimited possibility to do almost everything you want.
  • Compliance with the W3C (World Wide Web Consortium) standards, although this does depend on the theme you’re using.
  • Ability to post content via e-mail or mobile apps.
  • Intelligent content formatting via a WYSIWYG (WYSIWYG-What You See Is What You Get) editor.
  • Multi-user and multi-author support for user accounts.
  • Feature-rich Media Library for managing photos and other non-text content through a visual and highly usable interface
  • Active in development: WordPress platform is continuously evolving. Developers are working constantly in refining existing features, bug fixes and introducing new features.
  • Continuous security patch updates: Security patches are released constantly to keep your website protected from spanners and hackers.
  • Larger community base: Due to its open source nature, larger community of developers are developing, troubleshooting, making suggestions, and testing the application.
  • Built in automatic syndication feed including both RSS and Atom format.
  • Built-in embed functionality through short codes. Compatible with all major services including YouTube, Twitter, Facebook, Flickr, and Sound Cloud.
  • Easy to use and responsive admin panel to manage your WordPress site from all modern devices, operating systems, and web browsers.

Custom Calendar View Library in Android

The CustomCalendarView provides an easy and customizable option to create a Calendar. It displays the days of a month in a grid layout and allows navigating between months. To use the CustomCalendarView in your application, you first need to add the library to your application. You can do this by either from Gradle, Maven or by directly downloading the source code form GitHub.

Features

Currently it supports the following features:

  • Next and previous month navigation
  • Allow various customization including background color for day, week and title
  • Set custom typeface using setCustomTypeFace() method.
  • Show hide next previous month overflow days
  • Set custom day options for start day of week. By default it is set to Calendar.SUNDAY
  • Unlimited customizations for day of the month using custom Decorators.
  • Allow you to handle event when user changes month and day selection.

Gradle

Step 1 Add the JitPack repository to your build file. Add it in your build.gradle at the end of repositories.

  repositories {
    maven { url "https://jitpack.io" }
  }

Step-2 Add the dependency in the form

dependencies {
    compile 'com.github.npanigrahy:Custom-Calendar-View:v1.0'
}

Maven

<repository>
     <id>jitpack.io</id>
     <url>https://jitpack.io</url>
</repository>

Step 2 Add the dependency in the form

<dependency>
     <groupId>com.github.npanigrahy</groupId>
     <artifactId>Custom-Calendar-View</artifactId>
     <version>v1.0</version>
</dependency>

Sbt

Step-1 Add it in your build.sbt at the end of resolvers:

resolvers += "jitpack" at "https://jitpack.io"

Step-2 Add the dependency in the form

libraryDependencies += "com.github.npanigrahy" % "Custom-Calendar-View" % "v1.0"

Using CustomCalendarView Library

The GitHub project source includes a sample application, that is used for demonstrating the various features currently supported by this library. Once the library is added to your project, you can include the CustomCalendarView into your activity/fragment layout using the following code snippets.

<com.stacktips.view.CustomCalendarView
	android:id="@+id/calendar_view"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:background="#ffffff">
</com.stacktips.view.CustomCalendarView>

The above code snippet will show the simple Calendar View with default design. Now, you can use the following attributes, to customize the appearance of calendar.

<com.stacktips.view.CustomCalendarView
        android:id="@+id/calendar_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/off_white"
        app:calendarBackgroundColor="@color/off_white"
        app:calendarTitleTextColor="@color/black"
        app:currentDayOfMonthColor="@color/blue"
        app:dayOfMonthTextColor="@color/black"
        app:dayOfWeekTextColor="@color/black"
        app:disabledDayBackgroundColor="@color/off_white"
        app:disabledDayTextColor="@color/grey"
        app:selectedDayBackgroundColor="@color/blue"
        app:titleLayoutBackgroundColor="@color/white"
        app:weekLayoutBackgroundColor="@color/white">
</com.stacktips.view.CustomCalendarView>

Let us now, initialize the calendar view to control the various other appearance and behavior of calendar using the following methods.

//Initialize CustomCalendarView from layout
calendarView = (CustomCalendarView) findViewById(R.id.calendar_view);

//Initialize calendar with date
Calendar currentCalendar = Calendar.getInstance(Locale.getDefault());

//Show Monday as first date of week
calendarView.setFirstDayOfWeek(Calendar.MONDAY);

//Show/hide overflow days of a month
calendarView.setShowOverflowDate(false);

//call refreshCalendar to update calendar the view
calendarView.refreshCalendar(currentCalendar);

//Handling custom calendar events
calendarView.setCalendarListener(new CalendarListener() {
    @Override
    public void onDateSelected(Date date) {
        SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
        Toast.makeText(MainActivity.this, df.format(date), Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onMonthChanged(Date date) {
        SimpleDateFormat df = new SimpleDateFormat("MM-yyyy");
        Toast.makeText(MainActivity.this, df.format(date), Toast.LENGTH_SHORT).show();
    }
});

Using Custom TypeFace

//Setting custom font
final Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Arch_Rival_Bold.ttf");
if (null != typeface) {
    calendarView.setCustomTypeface(typeface);
    calendarView.refreshCalendar(currentCalendar);
}

Custom Calendar View Library in Android Custom Font

Using Day Decorators

//adding calendar day decorators
List decorators = new ArrayList<>();
decorators.add(new ColorDecorator());
calendarView.setDecorators(decorators);
calendarView.refreshCalendar(currentCalendar);
Custom Calendar View Library in Android Decorator

My Experience Writing and Publishing My First Commercial Tech Book

It was the month of December 2014, I got an email from the SeniorAcquisitions editor from Packet (an UK based technology book publisher). They have approached me for authoring a tech book. I was indeed excited and thrilled at first.

After reading the terms and discussion on commercials, I have taken up the new challenge. Although, writing tech stuffs was not quite new to me, but completing a book was really an challenge, specially when it is your first book. And I was ready for it.

It took me around 6 months to complete for all the 11 chapters including the proofreading and editors review. I was still working  on my full time job with Ness Technologies, London Office. The only way to complete the title was to invest some time in late night after completing my daily office job or on weekends. The whole time I had the sense that I am achieving something great. When I sat down to write, the words just fell onto the page.

After 5 months, today, I feel a special kind of happiness, when I see my book “Xamarin Mobile Application Development for Android “ is out for readers. You can buy a copy form the following link. 

Amazon global
http://goo.gl/hOiavx

Packet website
https://goo.gl/6ey7GC

Book Cover

xamarin-mobile-application-development-for-android

Xamarin Mobile Application Development for Android – Second Edition Announced

Book titled “Xamarin Mobile Application Development for Android” – Second Edition is announced and is available to pre-order. This book is expected to be published in 

If you are a C# developer who wants to develop Android apps and enhance your existing skill set, then this book is ideal for you. Good working knowledge of C#, .NET, and object-oriented software development is assumed.

For preorder visit packtpub.com

Technology trends come and go, but few have generated the excitement, momentum, or long-term impact that mobile computing has. Mobile computing impacts people’s lives at work and at home on a daily basis. Many companies and individual developers are looking to become a part of the movement but are unsure how to best utilize their existing skills and assets. The Xamarin suite of products provides new opportunities to those who already have a significant investment in C# development skills and .NET code bases, and would like to enter into this new, exciting world.

This example-oriented guide provides a practical approach to quickly learn the fundamentals of Android app development using C# and Xamarin.Android. It will lead you through building an Android app step-by-step with steadily increasing complexity.

Beginning with an overview of the Android and Xamarin platforms to provide you with a solid understanding of the underlying platform, we gradually walk through building and testing a Points of Interest Android app using C# and the Xamarin.Android product. You will learn to create ListView and add detail view to your Android application. You will handle application behaviors on orientation changes, before learning the different techniques to manage resources and layouts to support multiple screen sizes. You will then access a SQLite database in a cross-platform way and add location features to your application. Finally, you will add camera integration to your application and deploy your app to the various Android app stores.
Xamarin Mobile Application Development for Android - Second Edition

About This Book

  • Build and test multi-view Android applications using Xamarin.Android
  • Work with device capabilities such as location sensors and the camera
  • A progressive, hands-on guide to develop stunning Android applications using Xamarin

What You Will Learn

  • Build a multi-view, orientation-aware Android application with navigation
  • Lay out content using the LinearLayout, RelativeLayout, and TableLayout layout managers
  • Use a ListView (AdapterView) and Adapter to build a view that is populated from server data
  • Consume REST web service to perform GET, UPDATE, DELETE operation
  • Use Android SQLite for data persistence and caching
  • Capture the current location of a device, determine the street address, and integrate with the map app
  • Test, debug, and deploy an Android app

Story: What I Really Want from My Life ?

Everyday I wake up at my room in morning and think is this the place where I really want to be? Sometimes I feel yes but most of the time I got answer no. Everyday I ask this question to myself. It’s all about finding myself, and having the courage to admit certain things to myself, do things that scare me, and know that I’m doing the right things even when others question me.

We all are part of such society where others already decided our future. My son will do this in future, my brother will do this in future or my husband will do this… bla bla…. What the F***. I don’t want to be like others; I want to be Nilanchala and I took different path in my life; Initially I faced some difficulties but I overcome these and now I am working with one of good firm and drawing handsome salary and feel little bit happy where I am. But still there is some thing that is missing from my life. I don’t know what. I am really confused these days.

Sometimes I thought in our society our target is already defined just like the interface where all the methods signature is defined and need to implement by our-self in our life class. I took this example because I am a programmer, I apologies who didn’t like this.

Being a child we need to study hard and get some good percentage, after that being a young guy we need to finish our degree and get some good job earn money and this race for money continues till we die. I agree we require money for good life but in this race we forgot how to live a happy life? Do we really happy with our life…. I don’t know about others, but I don’t and something is there that is still not part of my life… I am still running for that and even I don’t know what is that…

Hope some day I’ll get the answer…