Search

Abu Naser Robii

Welcome to Robii's works and activities!

Category

wordpress

writings related wordPress development

আমার প্রথম থিম 

 আলোচ্য বিষয়ঃ

প্রয়োজনীয় ফাইল

ধাপ-১ ।  থিম ফোল্ডার তৈরি করা

ধাপ-২ ।  style.css file তৈরি করা

ধাপ-৩। index.php  ফাইল তৈরি করা

ধাপ-৪ । ওয়ার্ড প্রেস এ থিম যুক্ত / ইন্সটল  করা

ধাপ-৫ । থিম কার্যকর /একটিভ করা

প্রথম থিমের ব্যাবহার

আমরা কি শিখলাম?

পরবর্তী উত্তরন ।

 

 

প্রয়োজনীয় ফাইল  

(অনুবাদ চলছে)

As mentioned earlier in the “What is a Theme” section, the only files needed for a WordPress theme to work out of the box are an index.php file to display your list of posts and a style.css file to style the content.

Once you get into more advanced development territory and your themes grow in size and complexity, you’ll find it easier to break your theme into many separate files (called template files) instead. For example, most WordPress themes will also include:

  • header.php
  • index.php
  • sidebar.php
  • footer.php

We will cover creating separate files later in this handbook, but for now let’s get your first theme launched!

(Note: The following steps assume you have already completed the “Setting up a Development Environment” section.)

থিম কি?

আলোচ্য বিষয়ঃ
থিম এর কাজ কি?
থিম কিভাবে তৈরি হয়? থিমের আবশ্যিক ফাইল গুলি কি কি?
থিম এবং প্লাগিন এর পার্থক্য কি?
ওয়ার্ড প্রেস অরগ সাইট এর থিম সম্পর্কে …
এবার শুরুর করা যাক তবে…

একটি ওয়ার্ড প্রেস থিম আপনার ওয়েবসাইট এর বিন্যস( লে-আউট) , রঙ এবং ডিজাইন পাল্টে দিতে পারে। থিম পরিবর্তনের সাথে সাথে একটি সাইট এর সমূদয় দৃশ্যমান রূপ পাল্টে যায় যা একজন দর্শক ওয়েব ব্রাউজার এর মাধ্যমে দেখেন। ওয়ার্ড প্রেস এর হাজার হাজার থিম আছে যার প্রত্যেকটি যেকোনো ওয়েবসাইট কে একেবারে আলাদা রূপে উপস্থাপন করতে পারে।
থিম এর কাজ কি?
থিম মূলত ওয়ার্ড প্রেস এর ডাটাবেস থেকে ডাটা সংগ্রহ করে ব্রাউজারের মাধ্যমে দর্শকের জন্যে উপস্থাপন করে। যখন আপনি থিম তৈরি করছেন তখন আসলে আপনি কিভাবে দর্শকের সামনে ডাটা উপস্থাপন করতে চাইছেন তার ব্যাপারে নির্দেশনা তৈরি করেন। থিম তৈরি করার ব্যাপারে অনেক ওয়ার্ড প্রেস অনেক সুবিধা তৈরি করে রেখেছে,

যেমনঃ

  • আপনার সাইটে লে-আউট ইচ্ছে মত তৈরি করতে পারেন, লে-আউট হতে পারে স্ট্যাটিক অথবা লিকুইড, এক কলামের বা একাধিক কলামের, এটি হতেপারে গ্রিড বিভক্ত অথবা ডিভাইস রেস্পন্সিভ।
  • আপনার ওয়েবসাইট এর বিষয় বস্তু কি ভাবে এবং ঠিক কোন জায়গায় উপস্থাপিত হবে সেই নির্দেশনা দিতে পারেন।
  • আপনি ঠিক করে দিতে পারেন আপনার সাইট এর বিষয় বস্তু কিংবা কোন লেখা দর্শকের কোন বিশেষ কর্মকাণ্ডের মাধ্যমে বা ফল হিসেবে বিশেষ ভাবে উপস্থাপিত হবে, অথবা কোন বিশেষ ডিভাইস এ বিশেষ রূপে দেখানো হবে।
  • আপনি পছন্দ মত টাইপগ্রাফি যুক্ত করে আপনার সাইটের এর বিষয় বস্তুকে ফুটিয়ে তুলতে পারেন।
  • আপনি নিজস্ব CSS এর সাহায্যে ইচ্ছে মত ডিজাইন এর দৃশ্যমান রূপ তৈরি করে নিতে পারেন।
  • মিডিয়া ব্যাবহারের মাধ্যমে পছন্দ মত ছবি, ভিডিও যুক্ত করতে পারেন।
    ওয়ার্ড প্রেস থিম প্রকৃতপক্ষে অনেক শক্তিশালী, কিন্তু একটি ভাল ওয়েবসাইট এর রঙ কিংবা ডিজাইনের চাইতে এর বিষয় বস্তুর সাথে দর্শক কতোটুকু সম্পৃক্ত হতে পারছে তার বিবেচনায় বিবেচ্য হয়, মূলত সাইটের বিষয় বস্তুর উপস্থাপনার সাথে দর্শকের সম্পৃক্ত হওয়ার প্রবণতাই এর সফলতার মান নির্ণায়ক।

থিম কিভাবে তৈরি হয়?
মূলত ওয়ার্ড প্রেস সাইট অনেকগুলি ফাইল এর সম্মিলিত উপস্থাপনায় দৃশ্যমান হয়ে থাকে, আলাদা আলাদা ফাইল গুলি বিশেষ উপায়ে ব্রাউজারের মাধ্যমে নির্দেশিত উপায়ে উপস্থাপিত হয়।
থিমের আবশ্যিক ফাইল গুলি কি কি?
ওয়ার্ড প্রেস থিমে নুন্যতম দুইটি ফাইলের প্রয়োজন হয়
১। index.php ২। style.css
যদিও এই দুইটি ফাইল দিয়ে ওয়ার্ড প্রেস থিম তৈরি করা চলে তথাপি সাধারনত নিন্মুক্ত ফাইল গুলি ওয়ার্ড প্রেস থিম এর সাথে থাকে

  • PHP ফাইল template files এবং theme functions
  • Localization files
  • CSS files
  • Graphics
  • JavaScript
  • Text –সাধরনত লাইসেন্সএর তথ্য, থিম ব্যাবহারের নির্দেশনা সনবলিত readme.txt অথবা changelog ফাইল

থিম এবং প্লাগিন এর পার্থক্য কি? 

থিম ও প্লাগিন এর কার্যকারিতা  পরস্পরের পরিপূরক, তবে, সর্বোত্তম কার্যাভ্যাস হিসেবে বলা যায় :

  •  থিম মূলত ওয়েব সাইটের বিষয়বস্তুর উপস্থাপনা নিয়ন্ত্রণ করে
  • আর প্লাগইন ওয়ার্ডপ্রেস সাইট এর ব্যবহার এবং কার্যকারিতা নিয়ন্ত্রণ করতে ব্যবহৃত হয়

সাধারনত থিমে  জটিল কোন কার্যকারিতা বা ফিচার যোগ করা উচিত নয়,  কেন? এতে ব্যবহারকারী কোন কারনে তাদের থিম পরিবর্তন করলে তার ওয়েব সাইটের থিম আরোপিত  কারজকারিতা বা ফিচার সমূহের কর্মক্ষমতা বিকল হয়ে যেতে পারে।

ধরুন, আপনি একটি পোর্টফলিও থিম তৈরি করেছেন, আর তা কোন ব্যাবহার কারি তার সাইটে ব্যাবহার করল, কিন্তু কিছুদিন পরে অন্য থিমে যেতে চাইল, যাতে পোর্টফলিও সাইটের জন্যে অন্য কার্যকারীতা  যুক্ত আছে, তখন নিশ্চয়ই ব্যাবহার কারি কিছু তথ্য হারাবেন এবং জটিলতায় পরবেন ।

একারনে ওই বিশেষ কার্যকারিতা  বা ফাংশনালিটি আলাদা ভাবে প্লাগিন আকারে তৈরি করলে  তা ব্যাবহার কারি নিজের সুবিধা মত যুক্ত বা বিযুক্ত করে  সহজে নিজের প্রয়োজন মিঠাতে পারেন।

প্লাগিন এর সাহায্যে ফাংশনালিটি গুলিকে আলাদা ভাবে তৈরি করলে ব্যবহারকারীর কাছে  থিমের গ্রহন যোগ্যতা যেমন বারে তেমনি পছন্দ মত ফাংশনালিটি যুক্ত কিংবা বিযুক্ত করার সুবিধা থাকাতে অনেক বেশি ব্যাবহার উপযোগী।

নোটঃ মনে রাখবেন থিম তৈরির ক্ষেত্রে সর্বোত্তম কার্যাভ্যাস হল  সাইটের যাবতীয় ফাংশনালিটি মূল থিম থেকে আলাদা ভাবে প্লুগিন আকারে তৈরি করে নেওয়া, এবং থিমকে যেকোনো প্লুগিন এর সাথে যুক্ত করার মত করে তৈরি করা।

ওয়ার্ড প্রেস অরগ সাইট এর থিম সম্পর্কে … 

  • ওয়ার্ড প্রেস থিম ডাউনলোড করার সব চাইতে নিরাপদ স্থান হচ্ছে  WordPress.org ।
  • Themes Directory এর সকল থিম (   theme review guidelines) সঠিক ভাবে অনুসরনের মাধ্যমে  খুব নীবির ভাবে পর্যালোচনা/ রিভিউ  করা হয়  যাতে থিমের নিরাপত্তা নিশ্চিত করা যায়।
  • আপনি নিজের প্রয়োজনে থিম ডাউন লোড না করলেও বিশ্বের কাছে নিজের থিম ছড়িয়ে দিতে পারেন এই লিঙ্ক ( submit a theme to WordPress.org.) এর ওয়েব সাইটের মাধ্যমে

এবার শুরুর  করা যাক তবে… 

এখন আপনি জানেন থিম কি, সুতরাং  এখন মূল কাজ শুরু করা যাক।  যদি আপনি এখনো আপনার পি সি তে  পি এইছ পি ফাইল পড়ার জন্যে পরিবেশ তৈরি না করে থাকেন তবে set up your local development environment এই গাইড দেখে তা করে নিন। এখন আপনি কিছু ওয়ার্ড প্রেস থিম একটু ভাল ভাবে দেখে নিতে পারেন যা আপনার পরবর্তী পদক্ষেপে কাজে লাগবে, নয়তো  পরবর্তী লেখায় চলে আসুন আপনার প্রথম থিম তৈরি করতে।

ওয়ার্ড প্রেস থিম হ্যান্ডবুক

আলোচ্য বিষয়ঃ

থিম হ্যান্ডবুক এর প্রয়োজনীয়তা

প্রয়োজনীয় দক্ষতা মান

থিম হ্যান্ডবুক যে বিষয় গুলি আলোচনা করা হয়েছে।

বিঃ দ্রঃ এই লেখাটি ওয়ার্ড প্রেস অরগ সাইট এর উল্যেখিত লিঙ্ক  (https://developer.wordpress.org/themes/getting-started/) এর অনুবাদ

থিম হ্যান্ডবুক এর প্রয়োজনীয়তা 

থিম ডেভলপের এই হ্যান্ডবুক ওয়ার্ড প্রেস এর থিম ডেভলপ এর  মৌলিক  বিষয় সমুহ এবং এই কাজের জন্যে প্রয়োজনীয় সমস্থ  উৎস সমুহ উপস্থাপন করবে। এই থিম হ্যান্ডবুক পরবেন

১। একটি  পূরনাঙ্গ ওয়ার্ড প্রেস থিম এর চাইল্ড থিম তৈরি করতে

২। বিদ্যমান একটি থিমের অনুরূপ অন্য একটি থিম তৈরি করতে

৩। একটি থিম কিভাবে কাজ করে তা বিস্তারিত জানতে

৪। আপনার নিজের প্রয়োজনে একাবারে নিজের মত করে একটি সৃজনশীল ওয়ার্ড প্রেস থিম তৈরি করতে।

প্রয়োজনীয় দক্ষতা মান 

এই থিম হ্যান্ডবুক থেকে লাভবান হতে হলে আপনাকে অবশ্যই

১। HTML, CSS, and PHP এর মত ওয়েব টেকনলজি সমুহ জানা থাকতে হবে।

২। ওয়ার্ড প্রেস ওয়েব সাইট ইন্সটল করা, সেটিং ও  কনফিগার করা জানতে হবে।

নোটঃ যদি  MySQL ডাটাবেস, সাধারণ ওয়েব সার্ভার টেকনোলজি, এবংjavaScript  সম্পর্কে জানা থাকে তবে খুব ভাল হয়, কিন্তু না জানা থাকলেও সমস্যা নাই।

থিম হ্যান্ডবুক যে বিষয় গুলি আলোচনা করা হয়েছে।

এখানে অরাদ প্রেস থিম তৈরিতে প্রয়োজনীয় মৌলিক বিষয়াদির পাশাপাশি থিম তৈরিতে প্রয়োজনীয় টেমপ্লেট টেগ ও ওয়ার্ড প্রেস ফাংশন সমুহ বিস্তারিত আলোচনা করা হয়েছে।

ওয়ার্ড প্রেস অনেক বড় একটা বিষয়, তবুও এই হ্যান্ডবুকে এর প্রতিটি জরুরী বিষয়কে যুক্ত করতে চেষ্টা করা গেছে, তারপর যদি কোন বিশেষ ফাংশন সম্পর্কে আর বিস্তারিত জানার দরকার হয় তাহলে Code Reference এর লিঙ্ক থেকে দেখে নিতে পারবেন।

এই লেখার মাধ্যমে ওয়ার্ড প্রেস এর সম্পর্কে একটা পাকাপোক্ত ধারনা দেওয়ার চেষ্টা করা হয়েছে, ধাপে ধাপে কি করে ওয়ার্ড প্রেস এর একটি থিম তৈরি হয়ে উঠে তার বর্ণনা করা হয়েছে, কিছু টিপস দেওয়া হয়েছে যাতে আপনার দক্ষতা আপনার ভবিষ্যৎ কে এগিয়ে নিতে পারে।

( বিস্তারিত )

WordPress Custom page template

 step 1>

install wordpress in localhost and run as frontend and backend way

 step 2>

Download _tk-muster wordpress theme from github (link: https://github.com/Themekraft/_tk/ )

Download Bootstrap one page template (link:http://startbootstrap.com/template-overviews/agency/ )

 step 3>

unzip _tk-master and copy the folder to wordpress > wp-content > theme folder

 step 4>

 Go to backend wordpress dashboard interface and select appearance>theme  activate _tk theme

 step 5>

Create a new folder and  named as “assets” copy all the files(index.html, font-awesome, fonts,img,js,less,mail,licence,readme etc.) existing with startbootstrap-agency folder  to “assets” folder under _tk theme

 step 6>

create a new php page (onepage.php) in _tk theme folder under sourcefile and open the php file and copy all the html code from index.html file of Startbootstrap-agency folder and top of the html code add  ( sourse link: http://codex.wordpress.org/Page_Templates)

 <?php

 /*

* Template Name: onepage
* Description: A Page Template with a darker design.
*/

?>

and save the page changes..

step 7>

Go to backend wordpress dashboard interface and add a new page and select “one page”  within page attribute widget as page template and published it as blank page.

then click view page button to see the custom onepage template ….

 There is plain html text will be displayed..

 step 8>

open ”onepage.php” and edit link and script to connect them to the page..

like that wa…>

<link href=”<?php echo get_template_directory_uri().’/assets’;?>/css/bootstrap.min.css” rel=”stylesheet”>

<script src=”<?php echo get_template_directory_uri().’/assets’;?>/js/contact_me.js”></script>

Now the theme css and js will work with the template

steel we need to connect images to get complete result. and need more modification to prepare it as active wordpress page template..

if anyone understand wp_enqueue please write how to use enqueue for connect js,css and image..

ওয়ার্ড প্রেস নেভিগেশন মেনু

(ওয়ার্ড প্রেস অরগ সাইট থেকে সরাসরি অনুবাদ)

লিঙ্কঃ (  https://codex.wordpress.org/Navigation_Menus  ) এবং আনুষঙ্গিক লিঙ্ক সমুহ।

ওয়ার্ড প্রেস নেভিগেশন মেনু যুক্ত হয় ওয়ার্ড প্রেস এর ৩.০ ভার্শন এ। মেনু  মূলত  কাস্টমাইজ করা থিমের সাথে  পছন্দ মত ডিজাইন বান্ধব সুবিধা যুক্ত, যা সহজে ব্যাবহার উপযোগী কিছু মেকানিজম এর সমন্বয়। এই সুবিধার কারনে থিমে বিশেষ কিছু ওয়ার্ড প্রেস নির্ধারিত (ফাংশন) কোডের ব্যাবহারের মাধ্যমে পছন্দ মত ডাইনামিক মেনু তৈরি করা যায় সহজে।

ফাংশন তালিকাঃ

মেনু সংযুক্তির ফাংশনঃ

১। register_nav_menus()  ২। register_nav_menu() ৩। unregister_nav_menu()

মেনু দেখানোর ফাংশনঃ

১। has_nav_menu() ২। wp_nav_menu()

 

রেজিস্টারিং মেনুঃ

প্রথমত আপনার থিমের ফাংশন পি আইচ পি ফাইল এ মেনু রেজিস্টার করে নিতে হবে, আর রেজিস্টার করার কারনে আপনার থিমের (Appearance -> Menus) এডমিন স্ক্রিন মেনু অপশনটি যুক্ত হবে। এতে করে আপনি Appearance -> Menus অপশনের মাধ্যমে আপনার প্রয়োজনীয় মেনু যুক্ত করতে পারবেন। এছাড়া তৈরি করা মেনু থিমের যে কোন নির্দিষ্ট স্থানে দেখানোর জন্যে একটি অপশন পাওয়া যাবে মেনু রেজিস্টার করার পরে।

থিম রেজিস্টার করতে ফাংশন পি আইচ পি ফাইল এ নিচের কোড সংযুক্ত করতে হবেঃ


function register_my_menu() {

 register_nav_menu(‘header-menu’,__( ‘Header Menu’ ));
}
add_action( ‘init’, ‘register_my_menu’ );

And this would make two menu options appear, header menu and extra menu –

function register_my_menus() {
register_nav_menus(
array(
‘header-menu’ => __( ‘Header Menu’ ),
‘extra-menu’ => __( ‘Extra Menu’ )
)
);
}
add_action( ‘init’, ‘register_my_menus’ );

মেনু থিমে দেখাবেন কি ভাবে?

মেনু রেজিস্টার হয়ে গেলে বলা যায় থিমের নেভিগেশন মেনু ব্যাবহারের জন্যে তৈরি আছে। এখন পরিকল্পনা আনুসারে থিমের নির্ধারিত স্থানে মেন্যুটিকে দেখানোর জন্যে কিছু প্রস্তুতি নিতে হবে। আপনি থিমের যে স্থানে মেনু দেখাতে চাইছেন সেই স্থান সংশ্লিষ্ট পি আইচ পি ফাইল টি কোন টেক্সট এডিটর এ খুলুন এবং wp_nav_menu( ) কোডটি  যুক্ত করুন। থিমের যত জায়গায় মেনুএ দেখাতে হবে সব জায়গার জন্যে একবার এই ওয়ার্ড প্রেস ফাংশন ব্যাবহার করতে হবে। সাধারনত হেডার, সাইডবার, ফুটার ও ক্ষেত্র বিশেষে কোন বিশেষায়িত পেইজ এ মেনু ব্যাবহার হতে দেখা যায়।   wp_nav_menu ওয়ার্ড প্রেস কোডের সাথে এর‍্যের মাধ্যমে মেনু থিমের কোন জায়গায় দেখাবে, এর বিশেষ কোন বিশিষ্ট থাকলে তার সব কিছু সুস্পষ্ট ভাবে নির্দেশ দেওয়ার সুবিধা আছে।

 

  ‘header-menu’ => __( ‘Header Menu’ ),

 

এরেয়ের মধ্যেট theme_location হিসেবে পূর্বে   তৈরি করা মেনু নাম নির্ভুল ভাবে যুক্ত করতে হবে, নইলে সঠিক ভাবে কাঙ্খিত মেনু প্রদর্শিত হবে না(নোটঃ উপরের কোডে. header-menu লিখতে যে ’ -’ ব্যাবহার করা হয়েছে তাতে ‘-’ চিহ্ন সহ . header-men কোড বুঝায় আর ‘-’চিহ্ন বাদে . header menu সর্ব সাধারণের পাঠ উপযোগী যা কিনা ওয়ার্ড প্রেস এর এডমিন পেজ এ দেখা যাবে।)মেনুর কোড শেষ করার আগে  আপনি কোন বিশেষ মেনু চাইলে তা উল্লেখ করে দিতে পারেন

‘extra-menu’ => __( ‘Extra Menu’ )

 

এয়রে তে উপরের কোড সংযুক্ত করে। যদি আপনি কোন একটি divএর মধ্যে বিশেষ স্টাইল এর মেনু তৈরি করতে চান তবে container_class’ => ‘my_extra_menu_class’   যুক্ত করার মাধ্যমে আপনার মেনু র বিশেষ স্টাইল ও প্রয়োগ করা যাবে। সেক্ষেত্রে কোড টি নিচের মত দেখতে হবে

 

wp_nav_menu( array( ‘theme_location’ => ‘extra-menu’, ‘container_class’ => ‘my_extra_menu_class’ ) );

মেনু প্যনেলঃ

এবার মেনু সেট করতে আপনার সাইট এর Appearance -> Menus প্যানেল এ যান, এবং GUI menu creator দিয়ে আপনার কাঙ্খিত মেনু তৈরি করুন, প্রতিটি মেনুর স্বতন্ত্র নাম থাকা আবশ্যক। তৈরি করা মেনু কথায় দেখাতে চাইছেন তা নির্দেশ করতে নিচে আনার পূর্ব নির্ধারিত লোকেশন থেকে এইটি টিক  চিহ্ন দিয়ে নির্দেশ দিতে হবে।

 

আরও জানতে দেখুনঃ

Goodbye, headaches. Hello, menus!

(http://justintadlock.com/archives/2010/06/01/goodbye-headaches-hello-menus)

 WordPress Navigation Menu Generator

 

এছাড়াও ওয়ার্ড প্রেস অরগ সাইট এ  Navigation Menu বিষয়ে আর জানতে নিচের বিষয় গুলি দেখে নিতে পারেন।

 register_nav_menus()

 register_nav_menu()

 unregister_nav_menu()

 has_nav_menu()

 wp_nav_menu()

 wp_get_nav_menu_items()

ওয়ার্ড প্রেস ৩.০ ভার্শন ও পরবর্তী ভার্শন সমুহ এক সাইটে একাধিক কাস্টম নেভ মেনু রেজিস্টার করার সুবিধা তৈরি করেছে যা খুব সহজে সাইটের যে কোন লোকেশনে ডেসবোর্ড এর মাধ্যমে যুক্ত করা যায়। ( মেনু রেজিস্টার করতে উপরে  রেজিস্টারিং মেনুঃ অংশে দেখুন)

এবার আমরা  রেজিস্টারিং মেনু প্রসঙ্গে একটু বিস্তারিত আলোচনা করবঃ—

<?php register_nav_menus( $locations ); ?>

উপরের কোডে $locations প্যারামিটার টি সচরাচর একটি এসোসিএটিভ এর‍্যের মাধ্যমে নির্দেশ করে দিতে হবে কেননা এখানে একাধিক প্যারামিটার যুক্ত হওয়ার সুযোগ আছে যা মেনু টি যেখানে দেখাতে চাই তা নির্দেশ করার মেনু লোকেশন স্লাগ বা(key) এরসাথে সম্পৃক্ত মান গুলির  বর্ণনা ও ধারন করে।

 

উদাহরনঃ

 

register_nav_menus( array(
‘pluginbuddy_mobile’ => ‘PluginBuddy Mobile Navigation Menu’,
‘footer_menu’ => ‘My Custom Footer Menu’,
) );

নোটঃ

  • এই ফাংশন টি স্বয়ংক্রিয় ভাবে থিম মেনু সাপোর্ট যুক্ত করে নিতে পারে তাই এটি ব্যাবহার করলে add_theme_support( ‘menus’ ); কল করার প্রয়োজন নাই।
  • wp_nav_menu() কোড ব্যাবহার করে এই মেনু থিমের কাঙ্খিত পাতায় বা লোকেশনে দেখানো যাবে।
  • এক্ষেত্রে মেনু এডমিন পেইজে  advanced menu properties দেখাবে যা ব্যাবহার করে  “Link Target” “CSS Classes” “Link Relationship (XFN) Description” ইত্যাদি যুক্ত করা যাবে।
  • get_registered_nav_menus  চেক করে ওয়ার্ড প্রেস এর  একাধিক মেনু যুক্ত করা সম্পর্কে আর বিস্তারিত  জানা যাবে।

Create a free website or blog at WordPress.com.

Up ↑

<span>%d</span> bloggers like this: