wordpress plugin development
DESCRIPTION
Wordpress Plugin DevelopmentTRANSCRIPT
2
ওয়াডডপরে পলাগগন ডডপরবরপরভনট (Beginnerrsquos to Advance)
ডভাাঃ গরটন াঅপরযগপন httpswwwfacebookcomlitonice09
3
েথভ েকা ১০ ডপরেমবয ২০১২
েকাক
ওয়াডডপরে রে ফাাংরাপরদ ldquohttpswwwfacebookcomgroupsWordpress2Smashingrsquorsquo
ওয়াডডপরে রে ওপরয়ফাাআট ldquohttpswwwwpbanglacomrsquorsquo
ডরখক ডভাাঃ গরটন াঅপরযগপন ldquohttpswwwfacebookcomlitonice09rsquorsquo
ldquowwwliton-onlinecomrsquorsquo
েচছদ
জাগভর ডাপরন গজান
সপনসয ldquoShirsendu Shekhar Biswasrdquo
ldquohttpswwwfacebookcomdipshekharrdquo
Caution
This Book Not For sale
( CopyRight 2012 By ওয়াডডপরে রে ফাাংরাপরদ)
4
াঅভায মপপরকড
াঅভায নাভ ডভাাঃ গরটন াঅপরযগপন (httpswwwfacebookcomlitonice09) যাজাী গফশবগফদযারয় ডথপরক াআনপযপরভন এনড কগভউগনপরকন াআগিগনয়াগযাং গফবাপরগ ড়াপরানা কযগি ানাড ডল এখন ভাসটাড কযগি াঅভায ফযগিগত বলগ ldquoগরটন- ানরাাআনকভrdquo ( wwwliton-
onlinecom) এ টাাআভ ডদাআ মতটা াগয াপরথ টকটাক গিরযাগনসাং কগয াঅভাপরদয গতন দপরেয রে ldquoফযানrdquo(httpburhanbdcom) - এ কাজ কগয এবাপরফাআ ভয় চপরর মায় াঅভায াঅভায পলাগগন খফ ডফগ ডডপরবর কযা য়গন তফও জাগভর বাাআ াঅভাপরক এাআ ফাআগট ডরখায কাজ গদপরয়পরিন াঅগভ াঅভায সবলপ জঞাপরন ডচষটা কযফ াঅভায ডযাটা ডদফায জাগভর-
ldquo(httpswwwfacebookcomzamilhossainsezan32) rdquo বাাআ াঅভাপরক ওয়াডডপরে রে এর- (ldquohttpswwwfacebookcomgroupsWordpress2Smashingrdquo) কষ ডথপরক এাআ ফাআগট ডরখায কাজ াপরনক গদন াঅপরগাআ গদপরয়গিপররন গকনত ভয় কপরয উঠপরত াযগিরাভ না গত ভাপরাআ াঅভায ফাআগট সতানতয কযায কথা গির গকনত াগযগন এাআ ফাআগটয সবফডসবতব াঅভায ডকউ এাআ ফাআগট গফগি কযা ফা গনপরজয নাপরভ চারাপরনায ডচষটা কযপরফন না তপরফ মত ডফগ াপরযন ফায াপরথ ডয়ায কযপরফন াঅভযা রধ ওপরয়পরফয জগপরত ডাটা এগনি একসাটড ফা গিকায পরয় থাকপরত চাাআনা ওপরয়পরফয এডবানস ডরপরবপরর াঅনাপরক সবাগতভ
ডভাাঃ গরটন াঅপরযগপন
5
গচতর াধযায়- একাঃ চনা ডজ নমবয ৭ র ৭ ৮ াধযায়- রাআাঃ পলাগগপরনয গঠন ৯ র র ৯ খ র হ ১১ র র ৭ র ১৩ র র র হ ১৪ হ র ১৫ ১৮ র ১৮ URL ১৯ াধযায়- গতনাঃ রক ( Hook) ২২ র ( Filter Hooks) ২২ এ (Action Hooks) ২৭ াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড এ এ ৩২ uninstallphp ৩৪ Uninstall Hook ৩৫ ৩৬ এ ৩৭ এ এ ৩৭ াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন এ র ৩৮ ৩৮ র র র (াফ ডভন) ৪৩
6
র র ৪৫ াধযায়- িয়াঃ পলাগগন পাাংন ৫৬ __() ৫৬ _e() ৫৬ esc_attr__() ৫৮ াধযায়- াতাঃ পলাগগন গগকউগযগট র ৬১ র র ৬১ র র ৬১ র র ৬২ Nonces ৬৩ Nonce URL র ৬৪ Nonce Form র ৬৫ ৭৩ াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API ৭৬ API ৭৬ Settings API ৭৭ ৮১ CSSJS র ৯১ ৯৩ াধযায়- নয়াঃ পলাগগন উদাযন র র র র ১০০ র ১০১
7
াধযায়- একাঃ চনা গকি কথা ওয়াডডপরেপরয েগত যপরয়পরি াপরনক বারফাা ওয়াডডপরে মপপরকড নতন কপরয গকি ফরায ডনাআ ডমপরকান ওয়াডডপরে ফযফাযকাযীয জনয পলাগগন একগট গরতবনড গফলয় পলাগগন াঅপরর গক ওয়াডডপরে পলাগগন াঅভাপরদযপরক াঅভাপরদয বলগ ওপরয়ফাাআপরটয পাাংনাগরগট ফগি কযপরত াাময কপরয াভানয াথফা ডকান যকভ ডোোগভাং জঞান িাড়াাআ ওয়াডডপরে পলাগগপরনয গনগদডষট ডকান াঅকায এফাং াঅকগত ডনাআ একগট পলাগগন ডমপরকান গকিাআ কযপরত াপরয ওয়াডডপরে বলগ ওপরয়ফাাআপরটয াঅভায পলাগগপরনয াংখযা খফ কভ গকি াফগর কযা য়গন াঅগভ ওয়াডডপরেপরয গকি গরগভপরটন গনপরয় কাজ কযগি এফাং এগপররা গনপরয়াআ ভরত কাজ কযগি গকবাপরফ াঅপরযা একসপরটনড কযা মায় মাাআ ডাক াঅগভ এখনও গকষানগফ গপরপরফ াঅগি
ফাআগট কাপরদয জনয াঅগন মগদ এাআ ফাআগট ডাউনপররাড কপরয থাপরকন তাপরর াঅগভ ধপরযাআ গনগচছ াঅগন একজন ওপরয়ফ ডডপরবরায এফাং াপরথ গকি ডোোগভাং জঞান াঅপরি পলাগগন ডডপরবরপরভপরনটয উপরেশয পরচছ াঅগন পলাগগন ডডপরবর কযপরফন াঅনায িাপরয়নট াঅগন ডমবাপরফ চান গঠক ডবাপরফ ডমপরকান ধযপরনয ওপরয়ফাাআট ততযীপরত ওয়াডডপরেপরয ফযগতিভ পলাটপভড াআপরতাভপরধযাআ েভাগিত এাআ ফাআগট গিরযানসাযপরদয জপরনযও মাযা তাপরদয গির ডাটডপরপাগরও এফাং ওয়াডডপরেপরয পাাংনাগরগট ফপরে কাজ কপরযন
ডোয়াজনীয় টর
Notepad ++( httpnotepad-plus-plusorgdownload )Dreamwaver
Mozilla Firefox (httpwwwmozillaorgen-USfirefoxnew) Google Crome
Firebug Extension (Search For both Firefox Chrome as you want)
Web Developer Extension (Search For both Firefox Chrome as you want)
Xampp with Wordpress Installation
FTP Client Example- Filezilla ওয়াডডপরে গকবাপরফ াআনসটর কযপরত য় তা নতন কপরয ডদখাপরনায গকি ডনাআ তফও মাযা নতন তাযা এখাপরন ডদখন ( httpgooglWJTp9 ) গকবাপরফ পলাগগন াআনসটর কযপরত য় তা এখাপরন ডদখন ( httpgooglpE8AD)
8
াধযায়- রাআাঃ পলাগগপরনয গঠন পলাগগন গক ওয়াডডপরেপরয পলাগগন র একগট PHP গিে মা ওয়াডডপরেপরয গনজসব পাাংনাগরগট গযফতডন কপরয াথফা গযফধডন কপরয ভরতাঃ একগট গপচায ফা গকি গপচায াঅভাপরদয াাআপরট ডমাগ কযায জনয াঅভযা পলাগগন াআনসটর ডদাআ একগট পলাগগপরনয কাপরজয ডকান গরগভট ডনাআ ড ডকান কাজগপররা কযপরত াযপরফ কাযন পলাগগন ডাউনপররাপরডয ডকান গনগদডষট াাআজ ডনাআ পলাগগন ওয়াডডপরেপরয াপরথ গকবাপরফ কাজ কপরয ওয়াডডপরেপর াপরনক গপচায াঅপরি গফগবনন API(Application Programming Interface)- এয জনয ডমগপররা গফগবননবাপরফ কাজ কপরয ওয়াডডপরেপর গনপরচ ডগপররা াঅপররাচনা কযা রাঃ
পলাগগনাঃ একপরট রক( hooks) ডমগপররা ওয়াডডপরেপরয গনগদডষট পাাংপরন এপরকস কপরয এগপররাপরক এনাফর কপরয
উাআপরজটাঃ পলাগগন গদপরয় উাআপরজট ততগয এফাং গযচারনা কযা টডপরকাডাঃ াঅনায পলাগগনপরক াপরাটড কযায জনয টডপরকাড ডমাগ কযা টডপরকাড র
একগট রক ডমটা একগট PHP পাাংনপরক এনাফর কপরয এফাং াঅনায ডাসট ফা ডজ এ েদডন কপরয াঅগভ পরয এ গফলপরয় গফসতাগযত ফরফ
HTTP এগট াঅনায পলাগগপরন HTTP গযপরকাপরয়সট াঠায় এাআ API কনপরটনট ডথপরক external URL াথফা Submit কযা কনপরটনট ডথপরক URL retrieve কপরয
ডগটাংাঃ াঅনায পলাগগপরনয ডগটাং াআনাটড াথফা ডগটাং ডকন ডগটাং API এয োথগভক সগফধা র গগকউগযগট কর ডগটাং ডাটা গযিায( গযপরাগধত) থাপরক সতযাাং মখন পলাগগন ডগটাং ডব কযায ভয় Cross Site Request Forgery (CSRF) এফাং Cross Site Scripting(XSS) গনপরয় গচনতায গকি ডনাআ
Options পলাগগপরনয কর ান জভা যাপরখ এফাং retrieve কপরয এগট নতন ান ততযী কপরয াঅপরগয ান াঅপরডট কপরয ান গডগরট কপরয এফাং ডমপরকান ান retrieve কপরয
Dashboard Widgets ডযাপরফাডড উাআপরজট ততগয কপরয ওয়াডডপরে ডযাপরফাপরডড automatically উাআপরজট েদডন এফাং কর কাসটভাাআপরজন গপচায ডমভন- গভগনভাাআজ ডরাগ ডর এফাং গিন ান
Rewrite াঅনায পলাগগপরনয জনয কাসটভ রর ততগয কযা এাআ API াঅনায static-end-point(custom-page) structure tags(postname) এফাং াগতগযি গপড গরঙক (feedjson)
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
3
েথভ েকা ১০ ডপরেমবয ২০১২
েকাক
ওয়াডডপরে রে ফাাংরাপরদ ldquohttpswwwfacebookcomgroupsWordpress2Smashingrsquorsquo
ওয়াডডপরে রে ওপরয়ফাাআট ldquohttpswwwwpbanglacomrsquorsquo
ডরখক ডভাাঃ গরটন াঅপরযগপন ldquohttpswwwfacebookcomlitonice09rsquorsquo
ldquowwwliton-onlinecomrsquorsquo
েচছদ
জাগভর ডাপরন গজান
সপনসয ldquoShirsendu Shekhar Biswasrdquo
ldquohttpswwwfacebookcomdipshekharrdquo
Caution
This Book Not For sale
( CopyRight 2012 By ওয়াডডপরে রে ফাাংরাপরদ)
4
াঅভায মপপরকড
াঅভায নাভ ডভাাঃ গরটন াঅপরযগপন (httpswwwfacebookcomlitonice09) যাজাী গফশবগফদযারয় ডথপরক াআনপযপরভন এনড কগভউগনপরকন াআগিগনয়াগযাং গফবাপরগ ড়াপরানা কযগি ানাড ডল এখন ভাসটাড কযগি াঅভায ফযগিগত বলগ ldquoগরটন- ানরাাআনকভrdquo ( wwwliton-
onlinecom) এ টাাআভ ডদাআ মতটা াগয াপরথ টকটাক গিরযাগনসাং কগয াঅভাপরদয গতন দপরেয রে ldquoফযানrdquo(httpburhanbdcom) - এ কাজ কগয এবাপরফাআ ভয় চপরর মায় াঅভায াঅভায পলাগগন খফ ডফগ ডডপরবর কযা য়গন তফও জাগভর বাাআ াঅভাপরক এাআ ফাআগট ডরখায কাজ গদপরয়পরিন াঅগভ াঅভায সবলপ জঞাপরন ডচষটা কযফ াঅভায ডযাটা ডদফায জাগভর-
ldquo(httpswwwfacebookcomzamilhossainsezan32) rdquo বাাআ াঅভাপরক ওয়াডডপরে রে এর- (ldquohttpswwwfacebookcomgroupsWordpress2Smashingrdquo) কষ ডথপরক এাআ ফাআগট ডরখায কাজ াপরনক গদন াঅপরগাআ গদপরয়গিপররন গকনত ভয় কপরয উঠপরত াযগিরাভ না গত ভাপরাআ াঅভায ফাআগট সতানতয কযায কথা গির গকনত াগযগন এাআ ফাআগটয সবফডসবতব াঅভায ডকউ এাআ ফাআগট গফগি কযা ফা গনপরজয নাপরভ চারাপরনায ডচষটা কযপরফন না তপরফ মত ডফগ াপরযন ফায াপরথ ডয়ায কযপরফন াঅভযা রধ ওপরয়পরফয জগপরত ডাটা এগনি একসাটড ফা গিকায পরয় থাকপরত চাাআনা ওপরয়পরফয এডবানস ডরপরবপরর াঅনাপরক সবাগতভ
ডভাাঃ গরটন াঅপরযগপন
5
গচতর াধযায়- একাঃ চনা ডজ নমবয ৭ র ৭ ৮ াধযায়- রাআাঃ পলাগগপরনয গঠন ৯ র র ৯ খ র হ ১১ র র ৭ র ১৩ র র র হ ১৪ হ র ১৫ ১৮ র ১৮ URL ১৯ াধযায়- গতনাঃ রক ( Hook) ২২ র ( Filter Hooks) ২২ এ (Action Hooks) ২৭ াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড এ এ ৩২ uninstallphp ৩৪ Uninstall Hook ৩৫ ৩৬ এ ৩৭ এ এ ৩৭ াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন এ র ৩৮ ৩৮ র র র (াফ ডভন) ৪৩
6
র র ৪৫ াধযায়- িয়াঃ পলাগগন পাাংন ৫৬ __() ৫৬ _e() ৫৬ esc_attr__() ৫৮ াধযায়- াতাঃ পলাগগন গগকউগযগট র ৬১ র র ৬১ র র ৬১ র র ৬২ Nonces ৬৩ Nonce URL র ৬৪ Nonce Form র ৬৫ ৭৩ াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API ৭৬ API ৭৬ Settings API ৭৭ ৮১ CSSJS র ৯১ ৯৩ াধযায়- নয়াঃ পলাগগন উদাযন র র র র ১০০ র ১০১
7
াধযায়- একাঃ চনা গকি কথা ওয়াডডপরেপরয েগত যপরয়পরি াপরনক বারফাা ওয়াডডপরে মপপরকড নতন কপরয গকি ফরায ডনাআ ডমপরকান ওয়াডডপরে ফযফাযকাযীয জনয পলাগগন একগট গরতবনড গফলয় পলাগগন াঅপরর গক ওয়াডডপরে পলাগগন াঅভাপরদযপরক াঅভাপরদয বলগ ওপরয়ফাাআপরটয পাাংনাগরগট ফগি কযপরত াাময কপরয াভানয াথফা ডকান যকভ ডোোগভাং জঞান িাড়াাআ ওয়াডডপরে পলাগগপরনয গনগদডষট ডকান াঅকায এফাং াঅকগত ডনাআ একগট পলাগগন ডমপরকান গকিাআ কযপরত াপরয ওয়াডডপরে বলগ ওপরয়ফাাআপরটয াঅভায পলাগগপরনয াংখযা খফ কভ গকি াফগর কযা য়গন াঅগভ ওয়াডডপরেপরয গকি গরগভপরটন গনপরয় কাজ কযগি এফাং এগপররা গনপরয়াআ ভরত কাজ কযগি গকবাপরফ াঅপরযা একসপরটনড কযা মায় মাাআ ডাক াঅগভ এখনও গকষানগফ গপরপরফ াঅগি
ফাআগট কাপরদয জনয াঅগন মগদ এাআ ফাআগট ডাউনপররাড কপরয থাপরকন তাপরর াঅগভ ধপরযাআ গনগচছ াঅগন একজন ওপরয়ফ ডডপরবরায এফাং াপরথ গকি ডোোগভাং জঞান াঅপরি পলাগগন ডডপরবরপরভপরনটয উপরেশয পরচছ াঅগন পলাগগন ডডপরবর কযপরফন াঅনায িাপরয়নট াঅগন ডমবাপরফ চান গঠক ডবাপরফ ডমপরকান ধযপরনয ওপরয়ফাাআট ততযীপরত ওয়াডডপরেপরয ফযগতিভ পলাটপভড াআপরতাভপরধযাআ েভাগিত এাআ ফাআগট গিরযানসাযপরদয জপরনযও মাযা তাপরদয গির ডাটডপরপাগরও এফাং ওয়াডডপরেপরয পাাংনাগরগট ফপরে কাজ কপরযন
ডোয়াজনীয় টর
Notepad ++( httpnotepad-plus-plusorgdownload )Dreamwaver
Mozilla Firefox (httpwwwmozillaorgen-USfirefoxnew) Google Crome
Firebug Extension (Search For both Firefox Chrome as you want)
Web Developer Extension (Search For both Firefox Chrome as you want)
Xampp with Wordpress Installation
FTP Client Example- Filezilla ওয়াডডপরে গকবাপরফ াআনসটর কযপরত য় তা নতন কপরয ডদখাপরনায গকি ডনাআ তফও মাযা নতন তাযা এখাপরন ডদখন ( httpgooglWJTp9 ) গকবাপরফ পলাগগন াআনসটর কযপরত য় তা এখাপরন ডদখন ( httpgooglpE8AD)
8
াধযায়- রাআাঃ পলাগগপরনয গঠন পলাগগন গক ওয়াডডপরেপরয পলাগগন র একগট PHP গিে মা ওয়াডডপরেপরয গনজসব পাাংনাগরগট গযফতডন কপরয াথফা গযফধডন কপরয ভরতাঃ একগট গপচায ফা গকি গপচায াঅভাপরদয াাআপরট ডমাগ কযায জনয াঅভযা পলাগগন াআনসটর ডদাআ একগট পলাগগপরনয কাপরজয ডকান গরগভট ডনাআ ড ডকান কাজগপররা কযপরত াযপরফ কাযন পলাগগন ডাউনপররাপরডয ডকান গনগদডষট াাআজ ডনাআ পলাগগন ওয়াডডপরেপরয াপরথ গকবাপরফ কাজ কপরয ওয়াডডপরেপর াপরনক গপচায াঅপরি গফগবনন API(Application Programming Interface)- এয জনয ডমগপররা গফগবননবাপরফ কাজ কপরয ওয়াডডপরেপর গনপরচ ডগপররা াঅপররাচনা কযা রাঃ
পলাগগনাঃ একপরট রক( hooks) ডমগপররা ওয়াডডপরেপরয গনগদডষট পাাংপরন এপরকস কপরয এগপররাপরক এনাফর কপরয
উাআপরজটাঃ পলাগগন গদপরয় উাআপরজট ততগয এফাং গযচারনা কযা টডপরকাডাঃ াঅনায পলাগগনপরক াপরাটড কযায জনয টডপরকাড ডমাগ কযা টডপরকাড র
একগট রক ডমটা একগট PHP পাাংনপরক এনাফর কপরয এফাং াঅনায ডাসট ফা ডজ এ েদডন কপরয াঅগভ পরয এ গফলপরয় গফসতাগযত ফরফ
HTTP এগট াঅনায পলাগগপরন HTTP গযপরকাপরয়সট াঠায় এাআ API কনপরটনট ডথপরক external URL াথফা Submit কযা কনপরটনট ডথপরক URL retrieve কপরয
ডগটাংাঃ াঅনায পলাগগপরনয ডগটাং াআনাটড াথফা ডগটাং ডকন ডগটাং API এয োথগভক সগফধা র গগকউগযগট কর ডগটাং ডাটা গযিায( গযপরাগধত) থাপরক সতযাাং মখন পলাগগন ডগটাং ডব কযায ভয় Cross Site Request Forgery (CSRF) এফাং Cross Site Scripting(XSS) গনপরয় গচনতায গকি ডনাআ
Options পলাগগপরনয কর ান জভা যাপরখ এফাং retrieve কপরয এগট নতন ান ততযী কপরয াঅপরগয ান াঅপরডট কপরয ান গডগরট কপরয এফাং ডমপরকান ান retrieve কপরয
Dashboard Widgets ডযাপরফাডড উাআপরজট ততগয কপরয ওয়াডডপরে ডযাপরফাপরডড automatically উাআপরজট েদডন এফাং কর কাসটভাাআপরজন গপচায ডমভন- গভগনভাাআজ ডরাগ ডর এফাং গিন ান
Rewrite াঅনায পলাগগপরনয জনয কাসটভ রর ততগয কযা এাআ API াঅনায static-end-point(custom-page) structure tags(postname) এফাং াগতগযি গপড গরঙক (feedjson)
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
4
াঅভায মপপরকড
াঅভায নাভ ডভাাঃ গরটন াঅপরযগপন (httpswwwfacebookcomlitonice09) যাজাী গফশবগফদযারয় ডথপরক াআনপযপরভন এনড কগভউগনপরকন াআগিগনয়াগযাং গফবাপরগ ড়াপরানা কযগি ানাড ডল এখন ভাসটাড কযগি াঅভায ফযগিগত বলগ ldquoগরটন- ানরাাআনকভrdquo ( wwwliton-
onlinecom) এ টাাআভ ডদাআ মতটা াগয াপরথ টকটাক গিরযাগনসাং কগয াঅভাপরদয গতন দপরেয রে ldquoফযানrdquo(httpburhanbdcom) - এ কাজ কগয এবাপরফাআ ভয় চপরর মায় াঅভায াঅভায পলাগগন খফ ডফগ ডডপরবর কযা য়গন তফও জাগভর বাাআ াঅভাপরক এাআ ফাআগট ডরখায কাজ গদপরয়পরিন াঅগভ াঅভায সবলপ জঞাপরন ডচষটা কযফ াঅভায ডযাটা ডদফায জাগভর-
ldquo(httpswwwfacebookcomzamilhossainsezan32) rdquo বাাআ াঅভাপরক ওয়াডডপরে রে এর- (ldquohttpswwwfacebookcomgroupsWordpress2Smashingrdquo) কষ ডথপরক এাআ ফাআগট ডরখায কাজ াপরনক গদন াঅপরগাআ গদপরয়গিপররন গকনত ভয় কপরয উঠপরত াযগিরাভ না গত ভাপরাআ াঅভায ফাআগট সতানতয কযায কথা গির গকনত াগযগন এাআ ফাআগটয সবফডসবতব াঅভায ডকউ এাআ ফাআগট গফগি কযা ফা গনপরজয নাপরভ চারাপরনায ডচষটা কযপরফন না তপরফ মত ডফগ াপরযন ফায াপরথ ডয়ায কযপরফন াঅভযা রধ ওপরয়পরফয জগপরত ডাটা এগনি একসাটড ফা গিকায পরয় থাকপরত চাাআনা ওপরয়পরফয এডবানস ডরপরবপরর াঅনাপরক সবাগতভ
ডভাাঃ গরটন াঅপরযগপন
5
গচতর াধযায়- একাঃ চনা ডজ নমবয ৭ র ৭ ৮ াধযায়- রাআাঃ পলাগগপরনয গঠন ৯ র র ৯ খ র হ ১১ র র ৭ র ১৩ র র র হ ১৪ হ র ১৫ ১৮ র ১৮ URL ১৯ াধযায়- গতনাঃ রক ( Hook) ২২ র ( Filter Hooks) ২২ এ (Action Hooks) ২৭ াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড এ এ ৩২ uninstallphp ৩৪ Uninstall Hook ৩৫ ৩৬ এ ৩৭ এ এ ৩৭ াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন এ র ৩৮ ৩৮ র র র (াফ ডভন) ৪৩
6
র র ৪৫ াধযায়- িয়াঃ পলাগগন পাাংন ৫৬ __() ৫৬ _e() ৫৬ esc_attr__() ৫৮ াধযায়- াতাঃ পলাগগন গগকউগযগট র ৬১ র র ৬১ র র ৬১ র র ৬২ Nonces ৬৩ Nonce URL র ৬৪ Nonce Form র ৬৫ ৭৩ াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API ৭৬ API ৭৬ Settings API ৭৭ ৮১ CSSJS র ৯১ ৯৩ াধযায়- নয়াঃ পলাগগন উদাযন র র র র ১০০ র ১০১
7
াধযায়- একাঃ চনা গকি কথা ওয়াডডপরেপরয েগত যপরয়পরি াপরনক বারফাা ওয়াডডপরে মপপরকড নতন কপরয গকি ফরায ডনাআ ডমপরকান ওয়াডডপরে ফযফাযকাযীয জনয পলাগগন একগট গরতবনড গফলয় পলাগগন াঅপরর গক ওয়াডডপরে পলাগগন াঅভাপরদযপরক াঅভাপরদয বলগ ওপরয়ফাাআপরটয পাাংনাগরগট ফগি কযপরত াাময কপরয াভানয াথফা ডকান যকভ ডোোগভাং জঞান িাড়াাআ ওয়াডডপরে পলাগগপরনয গনগদডষট ডকান াঅকায এফাং াঅকগত ডনাআ একগট পলাগগন ডমপরকান গকিাআ কযপরত াপরয ওয়াডডপরে বলগ ওপরয়ফাাআপরটয াঅভায পলাগগপরনয াংখযা খফ কভ গকি াফগর কযা য়গন াঅগভ ওয়াডডপরেপরয গকি গরগভপরটন গনপরয় কাজ কযগি এফাং এগপররা গনপরয়াআ ভরত কাজ কযগি গকবাপরফ াঅপরযা একসপরটনড কযা মায় মাাআ ডাক াঅগভ এখনও গকষানগফ গপরপরফ াঅগি
ফাআগট কাপরদয জনয াঅগন মগদ এাআ ফাআগট ডাউনপররাড কপরয থাপরকন তাপরর াঅগভ ধপরযাআ গনগচছ াঅগন একজন ওপরয়ফ ডডপরবরায এফাং াপরথ গকি ডোোগভাং জঞান াঅপরি পলাগগন ডডপরবরপরভপরনটয উপরেশয পরচছ াঅগন পলাগগন ডডপরবর কযপরফন াঅনায িাপরয়নট াঅগন ডমবাপরফ চান গঠক ডবাপরফ ডমপরকান ধযপরনয ওপরয়ফাাআট ততযীপরত ওয়াডডপরেপরয ফযগতিভ পলাটপভড াআপরতাভপরধযাআ েভাগিত এাআ ফাআগট গিরযানসাযপরদয জপরনযও মাযা তাপরদয গির ডাটডপরপাগরও এফাং ওয়াডডপরেপরয পাাংনাগরগট ফপরে কাজ কপরযন
ডোয়াজনীয় টর
Notepad ++( httpnotepad-plus-plusorgdownload )Dreamwaver
Mozilla Firefox (httpwwwmozillaorgen-USfirefoxnew) Google Crome
Firebug Extension (Search For both Firefox Chrome as you want)
Web Developer Extension (Search For both Firefox Chrome as you want)
Xampp with Wordpress Installation
FTP Client Example- Filezilla ওয়াডডপরে গকবাপরফ াআনসটর কযপরত য় তা নতন কপরয ডদখাপরনায গকি ডনাআ তফও মাযা নতন তাযা এখাপরন ডদখন ( httpgooglWJTp9 ) গকবাপরফ পলাগগন াআনসটর কযপরত য় তা এখাপরন ডদখন ( httpgooglpE8AD)
8
াধযায়- রাআাঃ পলাগগপরনয গঠন পলাগগন গক ওয়াডডপরেপরয পলাগগন র একগট PHP গিে মা ওয়াডডপরেপরয গনজসব পাাংনাগরগট গযফতডন কপরয াথফা গযফধডন কপরয ভরতাঃ একগট গপচায ফা গকি গপচায াঅভাপরদয াাআপরট ডমাগ কযায জনয াঅভযা পলাগগন াআনসটর ডদাআ একগট পলাগগপরনয কাপরজয ডকান গরগভট ডনাআ ড ডকান কাজগপররা কযপরত াযপরফ কাযন পলাগগন ডাউনপররাপরডয ডকান গনগদডষট াাআজ ডনাআ পলাগগন ওয়াডডপরেপরয াপরথ গকবাপরফ কাজ কপরয ওয়াডডপরেপর াপরনক গপচায াঅপরি গফগবনন API(Application Programming Interface)- এয জনয ডমগপররা গফগবননবাপরফ কাজ কপরয ওয়াডডপরেপর গনপরচ ডগপররা াঅপররাচনা কযা রাঃ
পলাগগনাঃ একপরট রক( hooks) ডমগপররা ওয়াডডপরেপরয গনগদডষট পাাংপরন এপরকস কপরয এগপররাপরক এনাফর কপরয
উাআপরজটাঃ পলাগগন গদপরয় উাআপরজট ততগয এফাং গযচারনা কযা টডপরকাডাঃ াঅনায পলাগগনপরক াপরাটড কযায জনয টডপরকাড ডমাগ কযা টডপরকাড র
একগট রক ডমটা একগট PHP পাাংনপরক এনাফর কপরয এফাং াঅনায ডাসট ফা ডজ এ েদডন কপরয াঅগভ পরয এ গফলপরয় গফসতাগযত ফরফ
HTTP এগট াঅনায পলাগগপরন HTTP গযপরকাপরয়সট াঠায় এাআ API কনপরটনট ডথপরক external URL াথফা Submit কযা কনপরটনট ডথপরক URL retrieve কপরয
ডগটাংাঃ াঅনায পলাগগপরনয ডগটাং াআনাটড াথফা ডগটাং ডকন ডগটাং API এয োথগভক সগফধা র গগকউগযগট কর ডগটাং ডাটা গযিায( গযপরাগধত) থাপরক সতযাাং মখন পলাগগন ডগটাং ডব কযায ভয় Cross Site Request Forgery (CSRF) এফাং Cross Site Scripting(XSS) গনপরয় গচনতায গকি ডনাআ
Options পলাগগপরনয কর ান জভা যাপরখ এফাং retrieve কপরয এগট নতন ান ততযী কপরয াঅপরগয ান াঅপরডট কপরয ান গডগরট কপরয এফাং ডমপরকান ান retrieve কপরয
Dashboard Widgets ডযাপরফাডড উাআপরজট ততগয কপরয ওয়াডডপরে ডযাপরফাপরডড automatically উাআপরজট েদডন এফাং কর কাসটভাাআপরজন গপচায ডমভন- গভগনভাাআজ ডরাগ ডর এফাং গিন ান
Rewrite াঅনায পলাগগপরনয জনয কাসটভ রর ততগয কযা এাআ API াঅনায static-end-point(custom-page) structure tags(postname) এফাং াগতগযি গপড গরঙক (feedjson)
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
5
গচতর াধযায়- একাঃ চনা ডজ নমবয ৭ র ৭ ৮ াধযায়- রাআাঃ পলাগগপরনয গঠন ৯ র র ৯ খ র হ ১১ র র ৭ র ১৩ র র র হ ১৪ হ র ১৫ ১৮ র ১৮ URL ১৯ াধযায়- গতনাঃ রক ( Hook) ২২ র ( Filter Hooks) ২২ এ (Action Hooks) ২৭ াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড এ এ ৩২ uninstallphp ৩৪ Uninstall Hook ৩৫ ৩৬ এ ৩৭ এ এ ৩৭ াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন এ র ৩৮ ৩৮ র র র (াফ ডভন) ৪৩
6
র র ৪৫ াধযায়- িয়াঃ পলাগগন পাাংন ৫৬ __() ৫৬ _e() ৫৬ esc_attr__() ৫৮ াধযায়- াতাঃ পলাগগন গগকউগযগট র ৬১ র র ৬১ র র ৬১ র র ৬২ Nonces ৬৩ Nonce URL র ৬৪ Nonce Form র ৬৫ ৭৩ াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API ৭৬ API ৭৬ Settings API ৭৭ ৮১ CSSJS র ৯১ ৯৩ াধযায়- নয়াঃ পলাগগন উদাযন র র র র ১০০ র ১০১
7
াধযায়- একাঃ চনা গকি কথা ওয়াডডপরেপরয েগত যপরয়পরি াপরনক বারফাা ওয়াডডপরে মপপরকড নতন কপরয গকি ফরায ডনাআ ডমপরকান ওয়াডডপরে ফযফাযকাযীয জনয পলাগগন একগট গরতবনড গফলয় পলাগগন াঅপরর গক ওয়াডডপরে পলাগগন াঅভাপরদযপরক াঅভাপরদয বলগ ওপরয়ফাাআপরটয পাাংনাগরগট ফগি কযপরত াাময কপরয াভানয াথফা ডকান যকভ ডোোগভাং জঞান িাড়াাআ ওয়াডডপরে পলাগগপরনয গনগদডষট ডকান াঅকায এফাং াঅকগত ডনাআ একগট পলাগগন ডমপরকান গকিাআ কযপরত াপরয ওয়াডডপরে বলগ ওপরয়ফাাআপরটয াঅভায পলাগগপরনয াংখযা খফ কভ গকি াফগর কযা য়গন াঅগভ ওয়াডডপরেপরয গকি গরগভপরটন গনপরয় কাজ কযগি এফাং এগপররা গনপরয়াআ ভরত কাজ কযগি গকবাপরফ াঅপরযা একসপরটনড কযা মায় মাাআ ডাক াঅগভ এখনও গকষানগফ গপরপরফ াঅগি
ফাআগট কাপরদয জনয াঅগন মগদ এাআ ফাআগট ডাউনপররাড কপরয থাপরকন তাপরর াঅগভ ধপরযাআ গনগচছ াঅগন একজন ওপরয়ফ ডডপরবরায এফাং াপরথ গকি ডোোগভাং জঞান াঅপরি পলাগগন ডডপরবরপরভপরনটয উপরেশয পরচছ াঅগন পলাগগন ডডপরবর কযপরফন াঅনায িাপরয়নট াঅগন ডমবাপরফ চান গঠক ডবাপরফ ডমপরকান ধযপরনয ওপরয়ফাাআট ততযীপরত ওয়াডডপরেপরয ফযগতিভ পলাটপভড াআপরতাভপরধযাআ েভাগিত এাআ ফাআগট গিরযানসাযপরদয জপরনযও মাযা তাপরদয গির ডাটডপরপাগরও এফাং ওয়াডডপরেপরয পাাংনাগরগট ফপরে কাজ কপরযন
ডোয়াজনীয় টর
Notepad ++( httpnotepad-plus-plusorgdownload )Dreamwaver
Mozilla Firefox (httpwwwmozillaorgen-USfirefoxnew) Google Crome
Firebug Extension (Search For both Firefox Chrome as you want)
Web Developer Extension (Search For both Firefox Chrome as you want)
Xampp with Wordpress Installation
FTP Client Example- Filezilla ওয়াডডপরে গকবাপরফ াআনসটর কযপরত য় তা নতন কপরয ডদখাপরনায গকি ডনাআ তফও মাযা নতন তাযা এখাপরন ডদখন ( httpgooglWJTp9 ) গকবাপরফ পলাগগন াআনসটর কযপরত য় তা এখাপরন ডদখন ( httpgooglpE8AD)
8
াধযায়- রাআাঃ পলাগগপরনয গঠন পলাগগন গক ওয়াডডপরেপরয পলাগগন র একগট PHP গিে মা ওয়াডডপরেপরয গনজসব পাাংনাগরগট গযফতডন কপরয াথফা গযফধডন কপরয ভরতাঃ একগট গপচায ফা গকি গপচায াঅভাপরদয াাআপরট ডমাগ কযায জনয াঅভযা পলাগগন াআনসটর ডদাআ একগট পলাগগপরনয কাপরজয ডকান গরগভট ডনাআ ড ডকান কাজগপররা কযপরত াযপরফ কাযন পলাগগন ডাউনপররাপরডয ডকান গনগদডষট াাআজ ডনাআ পলাগগন ওয়াডডপরেপরয াপরথ গকবাপরফ কাজ কপরয ওয়াডডপরেপর াপরনক গপচায াঅপরি গফগবনন API(Application Programming Interface)- এয জনয ডমগপররা গফগবননবাপরফ কাজ কপরয ওয়াডডপরেপর গনপরচ ডগপররা াঅপররাচনা কযা রাঃ
পলাগগনাঃ একপরট রক( hooks) ডমগপররা ওয়াডডপরেপরয গনগদডষট পাাংপরন এপরকস কপরয এগপররাপরক এনাফর কপরয
উাআপরজটাঃ পলাগগন গদপরয় উাআপরজট ততগয এফাং গযচারনা কযা টডপরকাডাঃ াঅনায পলাগগনপরক াপরাটড কযায জনয টডপরকাড ডমাগ কযা টডপরকাড র
একগট রক ডমটা একগট PHP পাাংনপরক এনাফর কপরয এফাং াঅনায ডাসট ফা ডজ এ েদডন কপরয াঅগভ পরয এ গফলপরয় গফসতাগযত ফরফ
HTTP এগট াঅনায পলাগগপরন HTTP গযপরকাপরয়সট াঠায় এাআ API কনপরটনট ডথপরক external URL াথফা Submit কযা কনপরটনট ডথপরক URL retrieve কপরয
ডগটাংাঃ াঅনায পলাগগপরনয ডগটাং াআনাটড াথফা ডগটাং ডকন ডগটাং API এয োথগভক সগফধা র গগকউগযগট কর ডগটাং ডাটা গযিায( গযপরাগধত) থাপরক সতযাাং মখন পলাগগন ডগটাং ডব কযায ভয় Cross Site Request Forgery (CSRF) এফাং Cross Site Scripting(XSS) গনপরয় গচনতায গকি ডনাআ
Options পলাগগপরনয কর ান জভা যাপরখ এফাং retrieve কপরয এগট নতন ান ততযী কপরয াঅপরগয ান াঅপরডট কপরয ান গডগরট কপরয এফাং ডমপরকান ান retrieve কপরয
Dashboard Widgets ডযাপরফাডড উাআপরজট ততগয কপরয ওয়াডডপরে ডযাপরফাপরডড automatically উাআপরজট েদডন এফাং কর কাসটভাাআপরজন গপচায ডমভন- গভগনভাাআজ ডরাগ ডর এফাং গিন ান
Rewrite াঅনায পলাগগপরনয জনয কাসটভ রর ততগয কযা এাআ API াঅনায static-end-point(custom-page) structure tags(postname) এফাং াগতগযি গপড গরঙক (feedjson)
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
6
র র ৪৫ াধযায়- িয়াঃ পলাগগন পাাংন ৫৬ __() ৫৬ _e() ৫৬ esc_attr__() ৫৮ াধযায়- াতাঃ পলাগগন গগকউগযগট র ৬১ র র ৬১ র র ৬১ র র ৬২ Nonces ৬৩ Nonce URL র ৬৪ Nonce Form র ৬৫ ৭৩ াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API ৭৬ API ৭৬ Settings API ৭৭ ৮১ CSSJS র ৯১ ৯৩ াধযায়- নয়াঃ পলাগগন উদাযন র র র র ১০০ র ১০১
7
াধযায়- একাঃ চনা গকি কথা ওয়াডডপরেপরয েগত যপরয়পরি াপরনক বারফাা ওয়াডডপরে মপপরকড নতন কপরয গকি ফরায ডনাআ ডমপরকান ওয়াডডপরে ফযফাযকাযীয জনয পলাগগন একগট গরতবনড গফলয় পলাগগন াঅপরর গক ওয়াডডপরে পলাগগন াঅভাপরদযপরক াঅভাপরদয বলগ ওপরয়ফাাআপরটয পাাংনাগরগট ফগি কযপরত াাময কপরয াভানয াথফা ডকান যকভ ডোোগভাং জঞান িাড়াাআ ওয়াডডপরে পলাগগপরনয গনগদডষট ডকান াঅকায এফাং াঅকগত ডনাআ একগট পলাগগন ডমপরকান গকিাআ কযপরত াপরয ওয়াডডপরে বলগ ওপরয়ফাাআপরটয াঅভায পলাগগপরনয াংখযা খফ কভ গকি াফগর কযা য়গন াঅগভ ওয়াডডপরেপরয গকি গরগভপরটন গনপরয় কাজ কযগি এফাং এগপররা গনপরয়াআ ভরত কাজ কযগি গকবাপরফ াঅপরযা একসপরটনড কযা মায় মাাআ ডাক াঅগভ এখনও গকষানগফ গপরপরফ াঅগি
ফাআগট কাপরদয জনয াঅগন মগদ এাআ ফাআগট ডাউনপররাড কপরয থাপরকন তাপরর াঅগভ ধপরযাআ গনগচছ াঅগন একজন ওপরয়ফ ডডপরবরায এফাং াপরথ গকি ডোোগভাং জঞান াঅপরি পলাগগন ডডপরবরপরভপরনটয উপরেশয পরচছ াঅগন পলাগগন ডডপরবর কযপরফন াঅনায িাপরয়নট াঅগন ডমবাপরফ চান গঠক ডবাপরফ ডমপরকান ধযপরনয ওপরয়ফাাআট ততযীপরত ওয়াডডপরেপরয ফযগতিভ পলাটপভড াআপরতাভপরধযাআ েভাগিত এাআ ফাআগট গিরযানসাযপরদয জপরনযও মাযা তাপরদয গির ডাটডপরপাগরও এফাং ওয়াডডপরেপরয পাাংনাগরগট ফপরে কাজ কপরযন
ডোয়াজনীয় টর
Notepad ++( httpnotepad-plus-plusorgdownload )Dreamwaver
Mozilla Firefox (httpwwwmozillaorgen-USfirefoxnew) Google Crome
Firebug Extension (Search For both Firefox Chrome as you want)
Web Developer Extension (Search For both Firefox Chrome as you want)
Xampp with Wordpress Installation
FTP Client Example- Filezilla ওয়াডডপরে গকবাপরফ াআনসটর কযপরত য় তা নতন কপরয ডদখাপরনায গকি ডনাআ তফও মাযা নতন তাযা এখাপরন ডদখন ( httpgooglWJTp9 ) গকবাপরফ পলাগগন াআনসটর কযপরত য় তা এখাপরন ডদখন ( httpgooglpE8AD)
8
াধযায়- রাআাঃ পলাগগপরনয গঠন পলাগগন গক ওয়াডডপরেপরয পলাগগন র একগট PHP গিে মা ওয়াডডপরেপরয গনজসব পাাংনাগরগট গযফতডন কপরয াথফা গযফধডন কপরয ভরতাঃ একগট গপচায ফা গকি গপচায াঅভাপরদয াাআপরট ডমাগ কযায জনয াঅভযা পলাগগন াআনসটর ডদাআ একগট পলাগগপরনয কাপরজয ডকান গরগভট ডনাআ ড ডকান কাজগপররা কযপরত াযপরফ কাযন পলাগগন ডাউনপররাপরডয ডকান গনগদডষট াাআজ ডনাআ পলাগগন ওয়াডডপরেপরয াপরথ গকবাপরফ কাজ কপরয ওয়াডডপরেপর াপরনক গপচায াঅপরি গফগবনন API(Application Programming Interface)- এয জনয ডমগপররা গফগবননবাপরফ কাজ কপরয ওয়াডডপরেপর গনপরচ ডগপররা াঅপররাচনা কযা রাঃ
পলাগগনাঃ একপরট রক( hooks) ডমগপররা ওয়াডডপরেপরয গনগদডষট পাাংপরন এপরকস কপরয এগপররাপরক এনাফর কপরয
উাআপরজটাঃ পলাগগন গদপরয় উাআপরজট ততগয এফাং গযচারনা কযা টডপরকাডাঃ াঅনায পলাগগনপরক াপরাটড কযায জনয টডপরকাড ডমাগ কযা টডপরকাড র
একগট রক ডমটা একগট PHP পাাংনপরক এনাফর কপরয এফাং াঅনায ডাসট ফা ডজ এ েদডন কপরয াঅগভ পরয এ গফলপরয় গফসতাগযত ফরফ
HTTP এগট াঅনায পলাগগপরন HTTP গযপরকাপরয়সট াঠায় এাআ API কনপরটনট ডথপরক external URL াথফা Submit কযা কনপরটনট ডথপরক URL retrieve কপরয
ডগটাংাঃ াঅনায পলাগগপরনয ডগটাং াআনাটড াথফা ডগটাং ডকন ডগটাং API এয োথগভক সগফধা র গগকউগযগট কর ডগটাং ডাটা গযিায( গযপরাগধত) থাপরক সতযাাং মখন পলাগগন ডগটাং ডব কযায ভয় Cross Site Request Forgery (CSRF) এফাং Cross Site Scripting(XSS) গনপরয় গচনতায গকি ডনাআ
Options পলাগগপরনয কর ান জভা যাপরখ এফাং retrieve কপরয এগট নতন ান ততযী কপরয াঅপরগয ান াঅপরডট কপরয ান গডগরট কপরয এফাং ডমপরকান ান retrieve কপরয
Dashboard Widgets ডযাপরফাডড উাআপরজট ততগয কপরয ওয়াডডপরে ডযাপরফাপরডড automatically উাআপরজট েদডন এফাং কর কাসটভাাআপরজন গপচায ডমভন- গভগনভাাআজ ডরাগ ডর এফাং গিন ান
Rewrite াঅনায পলাগগপরনয জনয কাসটভ রর ততগয কযা এাআ API াঅনায static-end-point(custom-page) structure tags(postname) এফাং াগতগযি গপড গরঙক (feedjson)
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
7
াধযায়- একাঃ চনা গকি কথা ওয়াডডপরেপরয েগত যপরয়পরি াপরনক বারফাা ওয়াডডপরে মপপরকড নতন কপরয গকি ফরায ডনাআ ডমপরকান ওয়াডডপরে ফযফাযকাযীয জনয পলাগগন একগট গরতবনড গফলয় পলাগগন াঅপরর গক ওয়াডডপরে পলাগগন াঅভাপরদযপরক াঅভাপরদয বলগ ওপরয়ফাাআপরটয পাাংনাগরগট ফগি কযপরত াাময কপরয াভানয াথফা ডকান যকভ ডোোগভাং জঞান িাড়াাআ ওয়াডডপরে পলাগগপরনয গনগদডষট ডকান াঅকায এফাং াঅকগত ডনাআ একগট পলাগগন ডমপরকান গকিাআ কযপরত াপরয ওয়াডডপরে বলগ ওপরয়ফাাআপরটয াঅভায পলাগগপরনয াংখযা খফ কভ গকি াফগর কযা য়গন াঅগভ ওয়াডডপরেপরয গকি গরগভপরটন গনপরয় কাজ কযগি এফাং এগপররা গনপরয়াআ ভরত কাজ কযগি গকবাপরফ াঅপরযা একসপরটনড কযা মায় মাাআ ডাক াঅগভ এখনও গকষানগফ গপরপরফ াঅগি
ফাআগট কাপরদয জনয াঅগন মগদ এাআ ফাআগট ডাউনপররাড কপরয থাপরকন তাপরর াঅগভ ধপরযাআ গনগচছ াঅগন একজন ওপরয়ফ ডডপরবরায এফাং াপরথ গকি ডোোগভাং জঞান াঅপরি পলাগগন ডডপরবরপরভপরনটয উপরেশয পরচছ াঅগন পলাগগন ডডপরবর কযপরফন াঅনায িাপরয়নট াঅগন ডমবাপরফ চান গঠক ডবাপরফ ডমপরকান ধযপরনয ওপরয়ফাাআট ততযীপরত ওয়াডডপরেপরয ফযগতিভ পলাটপভড াআপরতাভপরধযাআ েভাগিত এাআ ফাআগট গিরযানসাযপরদয জপরনযও মাযা তাপরদয গির ডাটডপরপাগরও এফাং ওয়াডডপরেপরয পাাংনাগরগট ফপরে কাজ কপরযন
ডোয়াজনীয় টর
Notepad ++( httpnotepad-plus-plusorgdownload )Dreamwaver
Mozilla Firefox (httpwwwmozillaorgen-USfirefoxnew) Google Crome
Firebug Extension (Search For both Firefox Chrome as you want)
Web Developer Extension (Search For both Firefox Chrome as you want)
Xampp with Wordpress Installation
FTP Client Example- Filezilla ওয়াডডপরে গকবাপরফ াআনসটর কযপরত য় তা নতন কপরয ডদখাপরনায গকি ডনাআ তফও মাযা নতন তাযা এখাপরন ডদখন ( httpgooglWJTp9 ) গকবাপরফ পলাগগন াআনসটর কযপরত য় তা এখাপরন ডদখন ( httpgooglpE8AD)
8
াধযায়- রাআাঃ পলাগগপরনয গঠন পলাগগন গক ওয়াডডপরেপরয পলাগগন র একগট PHP গিে মা ওয়াডডপরেপরয গনজসব পাাংনাগরগট গযফতডন কপরয াথফা গযফধডন কপরয ভরতাঃ একগট গপচায ফা গকি গপচায াঅভাপরদয াাআপরট ডমাগ কযায জনয াঅভযা পলাগগন াআনসটর ডদাআ একগট পলাগগপরনয কাপরজয ডকান গরগভট ডনাআ ড ডকান কাজগপররা কযপরত াযপরফ কাযন পলাগগন ডাউনপররাপরডয ডকান গনগদডষট াাআজ ডনাআ পলাগগন ওয়াডডপরেপরয াপরথ গকবাপরফ কাজ কপরয ওয়াডডপরেপর াপরনক গপচায াঅপরি গফগবনন API(Application Programming Interface)- এয জনয ডমগপররা গফগবননবাপরফ কাজ কপরয ওয়াডডপরেপর গনপরচ ডগপররা াঅপররাচনা কযা রাঃ
পলাগগনাঃ একপরট রক( hooks) ডমগপররা ওয়াডডপরেপরয গনগদডষট পাাংপরন এপরকস কপরয এগপররাপরক এনাফর কপরয
উাআপরজটাঃ পলাগগন গদপরয় উাআপরজট ততগয এফাং গযচারনা কযা টডপরকাডাঃ াঅনায পলাগগনপরক াপরাটড কযায জনয টডপরকাড ডমাগ কযা টডপরকাড র
একগট রক ডমটা একগট PHP পাাংনপরক এনাফর কপরয এফাং াঅনায ডাসট ফা ডজ এ েদডন কপরয াঅগভ পরয এ গফলপরয় গফসতাগযত ফরফ
HTTP এগট াঅনায পলাগগপরন HTTP গযপরকাপরয়সট াঠায় এাআ API কনপরটনট ডথপরক external URL াথফা Submit কযা কনপরটনট ডথপরক URL retrieve কপরয
ডগটাংাঃ াঅনায পলাগগপরনয ডগটাং াআনাটড াথফা ডগটাং ডকন ডগটাং API এয োথগভক সগফধা র গগকউগযগট কর ডগটাং ডাটা গযিায( গযপরাগধত) থাপরক সতযাাং মখন পলাগগন ডগটাং ডব কযায ভয় Cross Site Request Forgery (CSRF) এফাং Cross Site Scripting(XSS) গনপরয় গচনতায গকি ডনাআ
Options পলাগগপরনয কর ান জভা যাপরখ এফাং retrieve কপরয এগট নতন ান ততযী কপরয াঅপরগয ান াঅপরডট কপরয ান গডগরট কপরয এফাং ডমপরকান ান retrieve কপরয
Dashboard Widgets ডযাপরফাডড উাআপরজট ততগয কপরয ওয়াডডপরে ডযাপরফাপরডড automatically উাআপরজট েদডন এফাং কর কাসটভাাআপরজন গপচায ডমভন- গভগনভাাআজ ডরাগ ডর এফাং গিন ান
Rewrite াঅনায পলাগগপরনয জনয কাসটভ রর ততগয কযা এাআ API াঅনায static-end-point(custom-page) structure tags(postname) এফাং াগতগযি গপড গরঙক (feedjson)
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
8
াধযায়- রাআাঃ পলাগগপরনয গঠন পলাগগন গক ওয়াডডপরেপরয পলাগগন র একগট PHP গিে মা ওয়াডডপরেপরয গনজসব পাাংনাগরগট গযফতডন কপরয াথফা গযফধডন কপরয ভরতাঃ একগট গপচায ফা গকি গপচায াঅভাপরদয াাআপরট ডমাগ কযায জনয াঅভযা পলাগগন াআনসটর ডদাআ একগট পলাগগপরনয কাপরজয ডকান গরগভট ডনাআ ড ডকান কাজগপররা কযপরত াযপরফ কাযন পলাগগন ডাউনপররাপরডয ডকান গনগদডষট াাআজ ডনাআ পলাগগন ওয়াডডপরেপরয াপরথ গকবাপরফ কাজ কপরয ওয়াডডপরেপর াপরনক গপচায াঅপরি গফগবনন API(Application Programming Interface)- এয জনয ডমগপররা গফগবননবাপরফ কাজ কপরয ওয়াডডপরেপর গনপরচ ডগপররা াঅপররাচনা কযা রাঃ
পলাগগনাঃ একপরট রক( hooks) ডমগপররা ওয়াডডপরেপরয গনগদডষট পাাংপরন এপরকস কপরয এগপররাপরক এনাফর কপরয
উাআপরজটাঃ পলাগগন গদপরয় উাআপরজট ততগয এফাং গযচারনা কযা টডপরকাডাঃ াঅনায পলাগগনপরক াপরাটড কযায জনয টডপরকাড ডমাগ কযা টডপরকাড র
একগট রক ডমটা একগট PHP পাাংনপরক এনাফর কপরয এফাং াঅনায ডাসট ফা ডজ এ েদডন কপরয াঅগভ পরয এ গফলপরয় গফসতাগযত ফরফ
HTTP এগট াঅনায পলাগগপরন HTTP গযপরকাপরয়সট াঠায় এাআ API কনপরটনট ডথপরক external URL াথফা Submit কযা কনপরটনট ডথপরক URL retrieve কপরয
ডগটাংাঃ াঅনায পলাগগপরনয ডগটাং াআনাটড াথফা ডগটাং ডকন ডগটাং API এয োথগভক সগফধা র গগকউগযগট কর ডগটাং ডাটা গযিায( গযপরাগধত) থাপরক সতযাাং মখন পলাগগন ডগটাং ডব কযায ভয় Cross Site Request Forgery (CSRF) এফাং Cross Site Scripting(XSS) গনপরয় গচনতায গকি ডনাআ
Options পলাগগপরনয কর ান জভা যাপরখ এফাং retrieve কপরয এগট নতন ান ততযী কপরয াঅপরগয ান াঅপরডট কপরয ান গডগরট কপরয এফাং ডমপরকান ান retrieve কপরয
Dashboard Widgets ডযাপরফাডড উাআপরজট ততগয কপরয ওয়াডডপরে ডযাপরফাপরডড automatically উাআপরজট েদডন এফাং কর কাসটভাাআপরজন গপচায ডমভন- গভগনভাাআজ ডরাগ ডর এফাং গিন ান
Rewrite াঅনায পলাগগপরনয জনয কাসটভ রর ততগয কযা এাআ API াঅনায static-end-point(custom-page) structure tags(postname) এফাং াগতগযি গপড গরঙক (feedjson)
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
9
Transients গকি াসথায়ী ান (cached data) ততগয কপরয াঅনায পলাগগপরনয জনয এাআ API গট Options API এয ানর
Database ওয়াডডপরেপরয ডাটাপরফপর েপরফ কপরয এগট াঅনায পলাগগপরনয ডাটাপরফপরজ গনপরচয কাজগপররা মপাদন কপরয- creatingupdatingdeleting and retrieving
কখন াঅনায পলাগগন ডরাড য় পলাগগন ততগয কযপরত ডগপরর এাআ ডফগক কাজগপররা াঅভাপরদয াফশযাআ জানপরত পরফ াঅভযা ডতা পলাগগন াআনসটর গদপরয়াআ খারা একফায ডবপরফও ডদগখনা এগট াঅপরর গকবাপরফ কখন ডরাড পরফ াাআপরটয উয কতটা াআপরপকট ডপরপরফ াঅগভ গনপরচ একগট ডায়াোভ গদরাভ াঅা কগয াঅয গকি ফরপরত পরফনা াঅভাপরক
Wordpress URL Called
wp-config Loaded
Functions Loaded
Plugins Loaded
Pluggables Loaded
Translations Loaded
Theme Loaded
Page Content
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
10
ওয়াডডপরে পলাগগন ডডপরবর কযায ৭গট কাযন
াঅগভ াআনটাযপরনট এ ldquoHow to Write a Plugin (httpgooglrCUY) rdquo গদপরয় াপরনক াচড কপরযগি াপরনক াঅগটডপরকর াঅপরি গকনত ভন ভত কপরয়কগট িাড়া ফরায ভত াাআগন ওয়াডডপরেপরয ldquoডকাপরডকসrdquo াঅপররাআ ওয়াডডপরে মপপরকড জানায জনয মপরথষট এটা পরয ফপরেগি ৭ গট কাযন ডকন াঅগন ওয়াডডপরে পলাগগন ফানাপরফনাঃ ১) াঅগন একগট পলাগগন মপপরকড জাপরনন গকনত এয ফাসতফায়ন িনদ কযপরিন না াঅভযা ডফগয বাগ ভয়াআ এাআ ভোয় গড় ২- ৩ গদন ধপরয একটা পলাগগন ডখাাজায জনয ফযয় কগয গকনত ভন ভত পলাগগন খাপরজ াাআ না গকনত এাআ ভয় এ একটা পলাগগন গরখা পরয় ডমত ২) াঅগন াঅপরগয ডকান পলাগগন ভগডপাাআ কযপরফন াপরনক ভয়াআ াঅনায িনদ ভত পলাগগন ডপররন গকনত াভানয গকি ডচি কযপররাআ াঅনায কাপরজ রাগপরফ এপরকষপরতর াঅনাপরক ডাআ পলাগগনগট ভগডপাাআ কযপরত জানপরত পরফ াপরনক ভয় পলাগগপরনয ডরখক ফযসত থাকপরত াপরযন এফাং াঅপরডট কযপরত াপরযন না এপরকষপরতর াঅগন ডাআ পলাগগনগট Aut hor Name ডচি কপরয গনপরত াপরযন তপরফ GPL Compatible license (httpgooglBOzm ) গঠক ডযপরখ াঅগন নযায় াগযগজনার পলাগগপরনয নতন বাডন ডফয কযপরত াপরযন ৩) ডকান পলাগগনপরক একসপরটনড কযপরত চান াপরনক ভয় একগট পলাগগন বার কাজ কপরয াাআপরটয জনয গকনত াঅগন াঅপরযা গকি গপচায ডমাগ কযপরত াপরযন ডমভন AJAX JQuery Effects াথফা াঅপরযা গকি রক রাগাপরত চান ডমন এগট ানয পলাগগপরনয াপরথ াভিে থাপরক তপরফ াফশযাআ GPL Compatible (httpgooglBOzm ) এয াপরথ াভিে পরত পরফ ৪) াঅগন মগদ াঅনায গথপরভয ফনপরমাগয ডকাড কযপরত চান এগট ভরত কাসটভ গথভ ডকাপরডয কথা ফরা পরয়পরি ডকান এগকসগসটাং গথপরভয ৫) াঅগন মগদ গথভ গডজাাআনায ন ৬) াঅগন মগদ টাকা উাজডন কযপরত চান পলাগগন ততযী কপরয ৭) াঅগন মগদ াঅনায াাআপরটয াআনকাগভাং গরঙক গফলড কযপরত চান
পলাগগপরনয ডপালডায সটরাকচায ডকভন পরফ কর ওয়াডডপরে পলাগগন wp-contentplugins গডপরযকটগযপরত াআনসটর য় গকি পলাগগপরন রধ একগট PHP পাাআর থাপরক গকনত াঅগভ ফ ভয় একগট ডপালডায কপরয পলাগগন ততগয কযায যাভড ডদফ পলাগগপরনয সটরাকচায পরত পরফ এযকভাঃ
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
11
Plugin Folder Name( াঅনায পলাগগন ডপালডায নাভ ডকান ডসপ ফা ডসপার কযাপরযকটায থাকা চরপরফ না) Main php file
js ডপালডায( জাবাগিে ফা Jquery file এয জনয) css ডপালডায( সটাাআরগট পাাআপররয জনয) phpinclude ডপালডায ( ানয php পাাআর)
একগট উদাযন ডদাআ পাাআপররয সটরাকচায ডকভন পরফ- litons-first-plugin
indexphp
js
css
includes
images
uninstallphp
পলাগগন ডডায
পলাগগপরনয ডডায িাড়া ডাআ পাাআর ডপালডাযগটপরক ওয়াডডপরে গচনপরত াযপরফ না পলাগগন ডডাযাআ পরচছ একভাতর েপরয়াজনীয় পাাংন মা ওয়াডডপরে দাফী কপরয ভাপরন াঅনাপরক পলাগগন ডরখায ররপরত PHP comment বলপরকয ভপরধয গকি াআনপযপরভন গদপরত পরফ মা এপরকফাপরয পাাআপররয েথপরভ াফসথান কপরয এখাপরন গকি কথা ফপরর যাগখ াঅগন মগদ াাআপরটয এাআও টাপরগডট কপরয পলাগগন ফানান তাপরর ডকান িপরভাআ াঅনায নাভ গদপরয় পলাগগন ফানাপরফন না ডমভনাঃ Litons Plugin এপরত এাআও ডত খাযা েবাফ পরড় গনপরচ উদাযন ডদয়া রাঃ ltphp
Plugin Name Litons Plugin পলাগগপরনয নাভ
Plugin URI httpliton-onlinecomplugin পলাগগপরনয URI Description This is a demo description পলাগগপরনয গফফযন Version 10 পলাগগপরনয বাডন Author Md Liton Arefin পলাগগন ডরখক
Author URI httpliton-onlinecom ডরখপরকয URI
gt
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
12
উপরযয িগফপরত ডদখন ওয়াডডপরেপরয ডযাপরফাপরডড াঅগভ পলাগগন ডডাপরয মা মা তথয গদপরয়গিরাভ তাাআ ডদখাপরচছ এটাাআ াঅনায োথগভক কাজ াঅগন রাাআপরনসও ডমাগ কযপরত াপরযন এবাপরফ- lt php
Copyright YEAR PLUGIN_AUTHOR_NAME (email PLUGIN AUTHOR
EMAIL)
This program is free software you can redistribute it andor modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation either version 2 of the License or
(at your option) any later version
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with this program if not write to the Free Software
Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
gt
পলাগগন াথ
একগট কভন কাজ র াঅনায পলাগগপরনয পাাআর এফাং ডপালডাযগপররাপরক ওয়াডডপরে াআনসটপররন গডপরযকটগযপরত ডযপায কযা াঅগন এাআ কাজগট রাআ বাপরফ কযপরত াপরযন- ডরাকার াবডায াথ াথফা সটানডাডড URL
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
13
ডরাকার াবডায াথাঃ ডরাকার াবডায াথ াঅনায কগমপউটাপরযয গডপরযকটগযয ভতাআ ডরাকার াবডায াথ াধাযনত ফযফায কযা য় মখন াঅনাপরক গনপরজয ডরাকার াবডাপরযয গকি পাাআর i ncl ude কযপরত য় একগট কভন েশন র- পলাগগন পাাআপররয াথ ডদখাপরনায গঠক িগত ডকানগট াঅনায পলাগগপরনয ডরাকার াথ ডদখাপরনায জনয াঅনাপরক plugin_dir_path() পাাংন ফযফায কযপরত পরফ plugin_dir_path() পাাংন পলাগগন গডপরযকটগযয গপগজকযার াথ একসিযাকট কপরয পাাআপররয নাভ ডথপরক ltphp plugin_dir_path($file) gt
Parameters
$file-(string)(required)- পলাগগন পাাআপররয নাভ এখন ডদগখ গকবাপরফ পলাগগন ডপালডাপরযয নাভ ডফয কযপরত য়-
ltphp
echo plugin_dir_path(__FILE__)
gt
এখাপরন গএাআচগ কনসটযানট __FILE__ ডক plugin_dir_path পাাংপরনয ভধয গদপরয় া কযারাভ এাআ পাাংন াবডায াথ ডদখাপরফ পলাগগন গডপরযকটগযয public_htmlwp-contentpluginsliton-plugin
একাআবাপরফ াঅগন মগদ plugin_dir_path() এাআ পাাংনপরক মগদ ডকান াফ- গডপরযকটগযয পাাআরপরক ডযপায কগয তাপরর গনপরচয ভত কপরয ডযপায কযপরত পরফ ltphp
echo plugin_dir_path(__FILE__)jsscriptsjs
gt
এাআ ডকাডগট গনপরচয ভত াথ ডদখাপরফ- public_htmlwp-contentpluginsliton-pluginjsscriptsjs
URL াথাঃ াঅপরযা গকি পাাংন াঅপরি ডমগপররা গদপরয় ওয়াডডপরেপরয URL ডদখাপরনা মায়
plugins_url() - পলাগগন গডপরযকটগযয পরযা URL ( ডমভনাঃ httpliton-onlinecomwp-contentplugins)
includes_url() - পরযা গডপরযকটগযয URL include কপরয ( ডমভন httpliton-onlinecomwp-includes)
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
14
content_url() - পরযা কপরনটনট গডপরযকটগয URL ( ডমভনাঃ httpliton-onlinecomwp-content )
admin_url() - পরযা এডগভন URL
( ডমভনাঃ httpliton-onlinecomwp-admin ) site_url() - কাপরযনট াাআট এয পরযা URL
( ডমভনাঃ httpliton-onlinecom ) home_url() - কাপরযনট াাআট এয পরযা ডাভ URL
( ডমভনাঃ httpliton-onlinecom )
াথ গনপরয় াঅপরযা গফসতাগযত ডদখপরত াপরযনাঃ httpcodexwordpressorgDetermining_Plugin_and_Content_Directories
httpcodexwordpressorgFunction_Referenceplugins_url
httpcodexwordpressorgFunction_Referenceplugin_dir_url
httpcodexwordpressorgFunction_Referenceplugin_dir_path
plugins_url() পাাংন াঅনায উততভ ফনধ পরত াপরয মখন াঅগন পলাগগন ডডপরবর কযপরফন
ltphp
plugins_url($path $plugin)
gt
Parameters
$path-(string)(optional)- গযপররগটব াথ URL $plugin- (string)(optional)- পলাগগন পাাআর মা াঅগন (__FILE__) এয ভাধযপরভ া কযপরত চান ডমভনাঃ ltphp
echo ltimg src=rdquoplugins_url(imagesiconpng__FILE)rdquogt
gt
এয পরযা URL পরফ ltimg src=rdquohttpliton-onlinecomwp-contentpluginsliton-pluginimagesiconpngrdquo gt
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
15
াধযায়- গতনাঃ রক
ওয়াডডপরে রক( Hook) গক ওয়াডডপরেপর রক ফরপরত াধাযনত add_action() াথফা add_filter() পাাংন ডক ডফাোয় এাআ রগট পাাংনপরক remove_action() াথফা remove_filter() গদপরয় ভপরি ডপরা মায় মগদও াপরনপরকয কাপরি রপরনগি ডম এাআ রগট পাাংপরনয ভপরধয ডকান াথডকয ডনাআ গকনত াঅপরর তা নয় গফযাট াথডকয াঅপরি এ রগট পাাংপরনয ভপরধয াঅগভ ভরত এাআ রগট পাাংন গদপরয়াআ গকি পলাগগন ফাগনপরয় ডদখাফ কাযন খফাআ গরতবিড এাআ রগট পাাংন মপপরকড বাপররাবাপরফ জানা
গপলটায রক (Filter Hooks)
গপলটায রক পাাংপরনয কাজ পরচছ কনপরটনটপরক ভগডপাাআ কযা গপলটায রক গদপরয় টাাআপরটর কনপরটনট াআতযাগদ ভগডপাাআ কযা মায় ডমভন টাাআপরটর এ ডকান টযাগ না থাকা গবগজটয কপরভপরনট ltgt t ag span t ag াআতযাগদ গদপরয় াাআপরটয ডরাঅউপরটয গযফতডন কপরয গদপরত াপরয ভাপরন ডকান কপরভপরনট মগদ এযকভ ht ml ডকাড াড কযা থাপরক তাপরর ডদখপরত খাযা রাগপরফ এগপররা াফশয এখন ওয়াডডপরে াপরটাপরভগটকযাগর কপরয গকনত এাআ কাজগপররা ভরত গপলটায রক গদপরয় কযা পরয় থাপরক গপলটায রক রাআ ধযপরনয add_filter() এফাং remove_filter() পাাংন খফ গরতবনড একগট কথা গপলটায রকপরক গযটানড কযপরত য় ltphp
add_filter($tag $function $priority $accepted_args)
gt
$tag- ডম রকপরক াঅগন ডযগজসটায কযপরত চান $function- ডম পাাংনপরক াঅগন াঅউটপরট গপলটায কপরয ডদখাপরত চান $priority- একগট াআগনটজায াংখযা মা াঅনায গপলটাযপরক িভানাপরয াজাপরফ মগদ ডকান
াংখযা না ডদয়া থাপরক তাপরর এগট ১০ গডপলট গপরপরফ থাপরক $ accepted_args- ডম াংখযক যাযাগভটায একগট পাাংন েি কযপরত াপরয গডপলট গপরপরফ
১ থাপরক াঅনায পাাংপরন ানততাঃ একগট যাযাগভটায থাকপরত পরফ মা গযটানড কযপরফ apply_filter($tag$value)
$tag- গপলটায রপরকয নাভ $value- রপরকয ভধয গদপরয় ডম যাযাগভটায া কযাপরফন
াঅভযা এখন একগট উদাযি ডদখফ ডমখাপরন টাাআপরটর এয েগতটা ওয়াডডপরক ফড় াপরতয াকষপরয রানতয কযফ গনপরচ একগট পলাগগন ডদখন- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
16
Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
gt
পলাগগনগট এগকটপরবট কযায াঅপরগ ডাসট টাাআপরটর ডদখন-
এফায পলাগগনগট এগকটপরবট কযায পরয ডাসট টাাআপরটর ডদখন-
এাআ পলাগগনগট াঅভাপরদয াপরনক ভয়াআ কাপরজ রাগপরত াপরয কাযন াপরনপরকাআ াঅভযা এাআ পযভযাটগট িনদ কগয ঠাৎ কপরযাআ াঅভযা ডাসট টাাআপরটর গরখায ভয় ফড় াপরতয াকষয কযপরত বপরর ডমপরত াগয াঅভযা এাআ কাজগট খফ ডিাট একগট পলাগগন গদপরয় াপরটাপরভগটকবাপরফ কযপরত াগয
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
17
এখন াঅগভ গকি াগতগযি গফলয় গনপরয় াঅপররাচনা কযফ ডমগপররা ডভপরন চরপরর বগফষযপরতয জনয বার পরফ াঅগভ একগট পাাংন গরপরখগি- add_filter(the_titleliton_modify_title)
function liton_modify_title($content)
return ucwords($content)
একট গফসতাগযত ফরপরর াঅভযা the_title এয ভধয গদপরয় মা া কযফ তা গপলটায কযপরফ এখাপরন াঅভযা ucwords the_title এয ভধয গদপরয় া কপরযগি এফায াঅপরযা টড পভড ডদগখ add_filter(the_title ucwords)
তায ভাপরন পরযা পলাগগনগট পরফ এযকভ- ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title ucwords)
gt
গক খফ জ রাগপরি এখাপরন ফপরর যাগখ ডম ucwords এগট গযগব কযপরফ the_title মা া কযপরি এফাং াপরটাপরভগটকযাগর গযটানড কযপরফ the_title এ সতযাাং এখাপরন গযটানড এয দযকায ডনাআ এফায াঅগন মগদ গএাআচগ বাডন ৫৩ ফযফায কপরযন তাপরর গনপরচয ভত কপরয anonymous function ফযফায কযপরফন াঅনাযা জাবাগিে ডজকপরয়গয‟য াপরথ গযগচত এগট াপরনকটাাআ এযকভ ltphp
Plugin Name Liton filter
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_filter(the_title function($content)
return ucwords($content)
)
gt
বার কপরয ডদখন ডতা াথডকযটা ডকাথায় গনপরজ গনপরজ কাজ কযপরর এবাপরফ কযপরফন াফশযাআ এগট একট এডবানস ডরপরফপররয কাজ মগদও পলাগগন ফানাপরনায ডকষপরতর এগট এখপরনা াঅদড নয় কাযন াপরনপরকযাআ গএাআচগ বাডন এখপরনা ৪ এাআ ডথপরক ডগপরি সতযাাং এাআ িগতগট একানতাআ গনপরজয জনয
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
18
এযাকন রক (Action Hooks) Action Hooks পরচছ ড ভসত রক ডমগপররা ওয়াডডপরেপরয রাাআপ াাআপরকর গনপরয় কাজ কপরয Action Hooks রাআ ধযপরনয add_action() remove_action() এাআ রকগপররা কাজ কপরয মখন ডকান ডাসট ডব কযা য় ডাসট াফগর কযা য় কপরভনট কযা য় ডকান বলগ ডাপরসট াথফা ওপরয়ফাাআপরট ডডাযপটায ডজনাপরযট য় এগপররা েগতগট একগট একগট কপরয Actions মখন াআউজায তায এডগভগনপরসটরটয ডভনপরত েপরফ কপরয এগপররা ফাআ Action Hooks এখাপরন াঅভযা কনপরটনটপরক গপলটায কযগিনা াঅভযা ওয়াডডপরেপরয গনগদডষট পাাংনগপররাপরক রক কপরয কাজ কযগি াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer function($content)
echo Hello This is Liton Arefin
)
gt
াঅনাপরদয সগফধাপরথড ডফাোয জনয গনপরচয ভত কপরয গরখন- ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action($content)
echo Hello This is Liton Arefin
gt
াঅভযা খফ ডিাট একগট উদাযন গদপরয় ডদখরাভ ডম action রক গকবাপরফ কাজ কপরয গনপরচ ডদগখ াাআপরট ডকভন ডদখায়-
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
19
উপরযয িগফপরত ডদখন াঅগভ Hello This is Liton Arefin এাআ রাাআনগট গেনট কপরযগি এফাং তা পটাপরযয ফাভ াপর এপরকফাপরয গনপরচ ডদখাপরচছ এফায ডাড ডকাড এ ডদগখ াঅপররাআ এয গজন টা ডকাথায় াঅপরি
উপরয ডদখন পটাপরযয গঠক গনপরচাআ রাাআনগট ডদখাপরচছ এফায াঅপরযকগট ফাসতফ এফাং খফাআ গরতবনড উদাযন ডদগখ এাআ পলাগগনগটয কাজ পরফ মখনাআ ডকান কপরভনট ডাসট পরফ তখনাআ এডগভনপরক ডভাআর াঠাপরফ ডম নতন কপরভনট ডাসট পরয়পরি মগদও ওয়াডডপরে এাআ কাজগট কপরয থাপরক াঅভযা এাআ কাজগট ভযানয়ারী কপরয ডদগখ ltphp
Plugin Name Liton Comments Mail
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(comment_post function()
$email= get_bloginfo(admin_email)
wp_mail(
New Comment Posted
A new comment has been left on your blog
)
)
gt
এখাপরন comment_post নাপরভয রপরক একগট ডবগযপরয়ফর $email ndashএ এডগভন ডভাআরপরক ডসটায কপরযগি মাপরত কপরয ডাাআনাগভক বাপরফ ড ডমপরকান াাআপরটয এডগভন ডভাআরপরক গডপরটকট কযপরত াপরয তপরফ এপরকষপরতর মগদ bloginfo(admin_email) ফযফায কযা ত তাপরর এডগভন ডভাআরপরক গডপরটকট কযত গকনত get_bloginfo(admin_email) ফযফায কযায পপরর াঅভযা াআপরভাআর বযারগটপরক গযটানড কপরয ডসটায কযগি এফাপরয ওয়াডডপরেপরয গফলটাআন ডভাআর পাাংন wp_mail(emailsubjectmessage) এয ভত কপরয গরপরখগি বার কপরয ডদখন পলাগগনগট এগকটপরবট কপরয ডদখন াঅনায াাআট মগদ ানরাাআপরন থাপরক তাপরর গনপরজাআ একগট কপরভনট কপরয ডদখন াঅনায এডগভন ডভাআপরর একগট ডভাআর চপরর ডগপরি
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
20
াধযায়- চাযাঃ পলাগগন ডকাগডাং সটযানডাডড
পলাগগন এগকটপরবনগডএগকটপরবন পাাংন াঅগন মখন একগট পলাগগনপরক এগকটব কপরযন তখনাআ এগকটপরবন পাাংন গিগায য় এাআ পাাংনপরক register_activation_hook() ফপরর ltphp register_activation_hook($file $function) gt
Parameters
$file- োাআভাগয পলাগগন পাাআপররয াথ
$function- ডম পাাংনগট গিগায পরফ মখন পলাগগন এগকটপরবট য় ডমভনাঃ- ltphp
register_activation_hook(__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something cool stuff
gt
াঅভযা একগট পলাগগন ফানাাআ এবাপরফ-
ltphp
Plugin Name Liton Version
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
register_activation_hook(__FILE__ liton_plugin_install)
function liton_plugin_install()
If(version_compare(get_bloginfo(version)51lt))
deactivate_plugins(basename(__FILE__))
deactivate our plugin
gt
মখন াঅভযা পলাগগন গডএগকটপরবট কগয তখন পলাগগন গডএগকটপরবন পাাংন কর য়
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
21
ltphp
register_deactivation_hook ($file $function) gt
-
ltphp
register_deactivation_hook (__FILE__ bdquoliton_plugin_install‟)
function liton_plugin_install()
do something
gt
াঅপরযকগট গরতবনড গফলয় র াঅনাআনসটর ওয়াডডপরে াঅনাপরক পলাগগন াঅনাআনসটর এয জনয রগট ান গদপরচছ- uninstallphp file and the uninstall hook
uninstallphp
এগট ডভাটাভগট েনপরমাগয িগত এ ডভথড ফযফায কযায জনয াঅনাপরক uninstallphp নাপরভ একগট পাাআর ততগয কযপরত পরফ াঅনায পলাগগন গডপরযকটগযপরত পাাআরগট গনপরচয ভত পরফ- ltphp
মগদ ওয়াডডপরে এগকসট কযায াপরথ াঅনাআনসটর কর কযা না য় If(defined(bdquoWP_UNINSTALL_PLUGIN‟))
exit()
delete_option(bdquoliton_plugin_options‟)
াগতগযি ান এফাং কাসটভ ডটগফর ভপরি ডপরন gt
Uninstall Hook
গিতীয় িগত র Uninstall Hook মগদ াঅগন ডকান পলাগগনপরক গডগরট কযপরত চান এফাং uninstallphp পাাআর না থাপরক তাপরর এাআ রক এগকসগকউট য়(মগদ থাপরক) ltphp
register_uninstall_hook($file$function)
gt
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
22
ডকাগডাং সটযানডাডড পলাগগন ফানাপরফন গকনত াঅনায ডকাড ডকভন পরফ গচনতা াঅপরত াপরয ওয়াডডপরে াঅনায জনয একগট সটযানডাডড গদপরয় গদপরয়পরি মা াঅনাপরক ওয়াডডপরেপরয জনয পলাগগন গরখপরত ডগপরর পপররা কযপরতাআ পরফ httpcodexwordpressorgWordPress_Coding_Standards
ডফগক একগট উদাযন গদরাভ গনপরচ- ltphp
Short description
Longer more detailed description
param type $varname1 Description
param type $varname2 Description
return type Description
function boj_super_function( $varname1 $varname2 )
do function stuff
gt
গএাআচগ সটানডাডড াঅভযা াপরনপরকাআ গএাআচগয টড পভড(lt gt) ফযফায কগয এটা মপিডরপর ফজডন করন কাযন াপরনক ডাগসটাং ডকামপাগনপরতাআ এটা গডপলট গপরপরফ ফনধ কপরয ডদয়া থাপরক সটযানডাডড টযাগ ফযফায করন(ltphp gt)
এগকউএর ডসটটপরভনট পলাগগন ততগযয ভয় াঅনাপরক াপরনক ভয়াআ ডাটাপরফ ডথপরক াআনপযপরভন গনপরত পরত াপরয াপরনক রাাআপরনয ডকাড গরখপরত পরত াপরয ডপরকষপরতর বার েযাকগট পরচছ এগকউএর এয কভানড গপররা ফড় াপরতয াকষপরয ডরখা ডমভন- SELECT username FROM table1 WHERE status = active
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
23
াধযায়- াাচাঃ ওয়াডডপরেপরয াপরথ াআগনটপরেন
ডভন এফাং াফ ডভন ততগয করন াঅভযা াপরনক পলাগগপরনাআ ডদগখ ডম একগট ডভন াঅাআপরটভ গপরপরফ াঅভাপরদয ডযাপরফাপরডড ডদখপরত াাআ এফাং ডাআ ডভনপরত গিক কযপরর ডগটাং ডজ াঅপর ডখাপরন পলাগগপরনয মাফতীয় ডগটাং গদপরয় াঅভযা পলাগগন কনগপগায কগয এফায এাআ চভৎকায কাজগট কযফ াঅভযা
ট ডরপরবর ডভন েথভ িগত পরচছ একগট ট ডরপরবর ডভন ততগয কযা ডমগট াঅভযা ডযাপরফাপরডড ডভন গরপরসট একগট নতন াঅাআপরটভ গপরপরফ ডমাগ কযফ ডভন ততগয কযায জনয াঅনাপরক add_menu_page( ) পাাংন ফযফায কযপরত পরফ ltphp
add_menu_page( page_title menu_title capability menu_slug functionicon_url
position )
gt
add_menu_page() পাাংন গনপরচয যাযাগভটাযগপররা াপরাটড কপরয page_title- াঅনায ডপরজয টাাআপরটর গক পরফ lttitlegt tag এয ভপরধয menu_title- ডযাপরফাপরডড াঅনায ডভনয নাভ capability- ফডগনমন capability রাগপরফ একগট ডভন গবউ পরত menu_slug- সলাগ নাভ মা ডভনপরক ডযপায কপরয- তপরফ এগট াআউগনক পরত পরফ function- একগট ডপরজয কনপরটনট ডদখপরত ডম পাাংন কর কযা য় icon_url- একগট কাসটভ াআপরভজ গরঙক ডভন াঅাআকন ডদখাপরনায জনয position- ডভনয গজন াডডায ডমখাপরন এটা ডদখাপরনা পরফ
এফায াঅভযা একগট ফাসতফ উদাযন ডদখফ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu)
function liton_menu()
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
24
create custom top-level menu
add_menu_page( Liton Menu Page Liton Menu Page manage_options
__FILE__ liton_menu_settings_page plugins_url( imageswp-logopng
__FILE__ ) )
gt
াঅভযা একগট ট ডরপরবর ডভন ততগয কযরাভ ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
Liton Menu Page নাপরভ একগট ডভন ততগয পরয় ডগপরি এফাপরয াঅভযা াফপরভন কযফ ভাপরন Liton Menu Page এয গনপরচ গকি ডগটাং ডভন(মগদ েপরয়াজন য়) াফ ডভন ডযগজসটায কযায জনয add_submenu_page( ) পাাংন ফযফায কযা য় ltphp
add_submenu_page( parent_slug page_title menu_title capabilitymenu_slug
function )
gt
parent_slug- ডভন সলাগ মা াঅভযা াঅপরগ গডপাাআন কপরযগি menu_slug- মা ডভনপরক াফপরভনপরত ডযপায কযপরফ ফাগক পাাংনগপররা াঅপরগয ভতাআ
এফায াফপরভনয জনয গকি াগতগযি ডকাড ডমাগ কগয create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
25
পরযা ডকাডগট পরফ এযকভ- ltphp
Plugin Name Liton Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_menu
)
function liton_menu()
create custom top-level menu
add_menu_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page
plugins_url( imageswp-logopng __FILE__ ) )
create submenu items
add_submenu_page( __FILE__ About My Plugin About manage_options
__FILE___about liton_menu_about_page )
add_submenu_page( __FILE__ Help with My Plugin Help
manage_options
__FILE___help liton_menu_help_page )
add_submenu_page( __FILE__ Uninstall My Plugin Uninstall
manage_options
__FILE___uninstall liton_menu_uninstall_page )
gt
গনপরচ ডদখন াফপরভনগপররা ততগয পরয় ডগপরি-
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
26
ডভনপরক াঅপরগয ডভনয াপরথ মি কযা এফায াঅগ গিতীয় িগতপরত মগদ াঅনায পলাগগপরনয একগট ভাতর ডজ থাপরক একগট ভাতর ডপরজাআ াঅনায কর ডগটাং পরয় মায় তাপরর এাআ িগত েন করন ডমভন ডয়াগযাং াাআটগপররায জনয রধ াঅনায াঅাআগডপযানপরপরজয াঅাআগড দযকায য় এযকভ পলাগগন এধযপরনয পলাগগপরনয জনয াঅনায াগতগযি ডভন ততগয কযায দযকায ডনাআ ফযাং এপরত কপরয াআউজায গফযি ডফাধ কযপরত াপরযন এ ধযপরনয পলাগগনগপররা ডগটাং এয াফপরভন গপরপরফ থাপরক add_options_page() এাআ পাাংন গদপরয় এফ ডভন ডযগজসটায কযা য় ltphp
add_options_page( page_title menu_title capability
menu_slug function)
gt
এফায চরন এযকভ একগট ডভন ততগয কগয- ltphp
Plugin Name Liton Sub Menu
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action( admin_menu liton_submenu)
function liton_submenu()
create a submenu under Settings
add_options_page( Liton Menu Settings Page Liton Menu Page
manage_options __FILE__
liton_menu_settings_page)
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
27
gt
াফপরভন ততগয পরয় ডগপরি চরন ডদগখ ডযাপরফাপরডড ডকভন ডদখায়-
এপরকফাপরয গনপরচয গদপরক ডদখন Liton Menu Page নাপরভ একগট ডভন ততগয পরয়পরি
উাআপরজট ততগয কযা উাআপরজট ততগয কযায জনয ওয়াডডপরে WP-Widget িা গদপরয় ততগয কযা য় উাআপরজট এয একগট পযভযাট ডদখন গনপরচ ltphp
class My_Widget extends WP_Widget
function My_Widget()
processes the widget
function form($instance)
displays the widget form in the admin dashboard
function update($new_instance $old_instance)
process widget options to save
function widget($args $instance)
displays the widget
gt
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
28
উাআপরজট ডযগজসটায কযায জনয widget_init() পাাংনপরক রক কযা য় চরন একগট উাআপরজট ততগয কগয- ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager $params)
public function form()
public function widget()
add_action(widgets_initliton_register_message)
function liton_register_message()
register_widget(Messager)
gt
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
29
খফ াধাযন একগট উাআপরজট পলাগগন এগট াঅভযা াআউজাযপরদযপরক একগট ডভপরজ ডদখাপরফা াাআডফাপরয ডটাাআ কযায ডচষটা কযগি এখন পলাগগনগট এগকটপরবট কপরয ডদগখ-
াঅভাপরদয উাআপরজটগট ডদখাপরচছ এফায াঅপরযা গকি পাাংনার কাজ কগয এগট মগদ াাআডফাপরয ডরাগ কপরয ডদন তাপরর ডকান কাজ কযপরফ না কাযন াঅভযা এখপরনা গকিাআ কগযগন পভড পাাংপরন গকি কাজ কগয মা উাআপরজট টাাআপরটর গপরপরফ ডদখাপরফ- public function form($instance)
extract($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltphp
াঅভযা উপরয class=widefat ফযফায কপরযগি এাআ িা ফযফায কযায কাযপরন পভড এয াআনট গপলডগট াপরনক সনদয পরয়পরি
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
30
মগদ এাআ িা ফযফায না কগয তাপরর ডকভন ডদখাপরফ গনপরচ ডদখন-
াঅভাপরদয উাআপরজট পলাগগনগটয ডকাড গনপরচ ডদওয়া র ltphp
Plugin Name Liton Widget
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
class Messager extends WP_Widget
function __construct()
$params=array(
description =gtDisplay message to readers
name =gt Message
)
parent__construct(Messager$params)
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
31
public function form($instance)
extract($instance)
print_r($instance)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title)gtgtTitle ltlabelgt
ltinput
class=widefat
id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt
value=ltphp if(isset($title)) echo esc_attr($title) gt gt
ltpgt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(description)gtgtDescription
ltlabelgt
lttextarea
class=widefat
rows=10
id=ltphp echo $this-gtget_field_id(description) gt
name=ltphp echo $this-gtget_field_name(description) gtgtltphp
if(isset($description)) echo esc_attr($description) gtlttextareagt
ltpgt
ltphp
public function widget($args$instance)
extract($args)
extract($instance)
echo $before_widget
echo $before_title$title$after_title
echo ltpgt$descriptionltpgt
echo $after_widget
add_action(widgets_initliton_register_message)
function liton_register_message()
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
32
register_widget(Messager)
gt
এফায াঅভযা ডযাপরফাডড ডথপরক একগট ডভপরজ ডদফ গবগজটযপরদযপরক-
াঅভযা এাআ উাআপরজটগট ডাাআনাগভক বাপরফ কপরযগি কাযন এখাপরন lth2gt lth3gt lth4gt এ ধযপরনয ডকান টযাগ াঅভযা ফযফায কগযগন াঅভযা গথভ ডডপরবর কযগিনা সতযাাং এ কাজগট াঅভাপরদয ানযবাপরফ কযা দযকায গির এগট গথভ ডডপরবরায ডদগখপরয় ডদপরফন ডম ডকভন টযাগ পরফ াাআডফাপরয াাআপরটয াাআডফাপরয ডকভন ডদখায় তা ডদখন- াঅভযা রগট গথপরভ এগট ডটসট কপরয ডদখফ েথভগট টপরয়গনট াআপররপরবন
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
33
এফায াঅপরযকগট গথপরভ ডদগখ-
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
34
াধযায়- িয়াঃ পলাগগন পাাংন
গকি ডফগক পাাংন __() পাাংন
__() পাাংনগট গএাআচগপরত াঅনায ডটকসটপরক ডযগড কপরয িানসপররন এফাং গযটানড কপরয উদাযন গপরপরফ াঅগন একগট বযারপরক __() পাাংপরনয ভপরধয ডবগযপরয়ফর গদপরয় assign করন ভপরন যাখপরফন এাআ পাাংনগট রগট াঅনডাযপরিায(_) গদপরয় গগঠত একগট নয় ltphp
$text=__(bdquoWordpress is a wonderful publishing platform‟‟liton_plugin‟)
gt
_e() পাাংন _e() পাাংনগট াঅনায ডটকসবপরট ডরাকারাাআজ কপরয এটা গএাআচগপরত echo এয ভত কাজ কপরয ডকান ডটকসটপরক গিপরন ডদখাপরনায জনয এফায একট ভজা কগয মা রপরক ডদপরখগি াঅপরগাআ- _e() পাাংনগট গদপরয় াঅপরগয পলাগগনগট এগডট কযফ ltphp
Plugin Name Liton Action
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_action(wp_footer liton_footer_action)
function liton_footer_action()
Output the translated text
_e( This site runs off the coolest platform ever ampmdash
WordPress
liton-plugin )
gt
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
35
এফায াঅউটট ডদগখ
esc_attr__() পাাংন এাআ পাাংনগট esc_attr() এয ভত এগট এাআচগটএভএর এগিগফউটপরক escape কপরয াঅভযা এফায esc_attr__() এফাং __() এাআ রগট পাাংনপরক একগট কপরয পলাগগন ততগয কযফ ltphp
Plugin Name Liton Esc Attr
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
A function that returns a link to the sites terms of service
page
function liton_terms_of_service_link()
return lta href=httpliton-onlinecomtos title=
esc_attr__( Visit the Terms of Service page boj-plugin ) gt __( Terms of
Service liton-plugin ) ltagt
Display the output of the liton_terms_of_service_link()
function
echo liton_terms_of_service_link()
gt
পলাগগনগটয াঅউটট ডদখন-
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
36
এযকভ াঅপরযা গকি পাাংন াঅপরি ডমগপররা াঅনাযা ডদপরখ ডনপরফন াআনটাযপরনট ডঘপরট
esc_html__() Function
esc_attr() Function
esc_url() Function
esc_js() Function
esc_html() Function
esc_attr_e() Function
esc_html_e() Function
_x() Function
_ex() Function
esc_attr_x() Function
esc_html_x() Function
_n() Function
_nx() Function
_n_noop() Function
_nx_noop() Function
Translation
bull Poedit httppoeditnet
bull GlotPress httpglotpressorg
bull Launchpad httpstranslationslaunchpadnet
bull Pootle httppootlelocamotionorg
bull KBabel httpi18nkdeorg
bull GNU Gettext httpgnuorgsoftwaregettext
GlotPress এখন ওপরয়ফ ডফড টর গপরপরফ ফযফায কযা পরচছ ওয়াডডে েপরজপরকটয ডিপরন একজন াথফা গটপরভয জনয িানসপররগটাং পটওয়যায গপরপরফ
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
37
াধযায়- াতাঃ পলাগগন গগকউগযগট
গগকউগযগট কগমপউটাপরযয বালায় ldquoগগকউগযগটrdquo ভাপরন বীগতকয একগট বদ ডমভন Cross Site
Scripting(XSS) Cross Site Request Forgery(CSRF) SQL Injection Privilege
Escalation Vulnerabilities এফাং Holes রফডর ডকাড একগট াবডাপরযয সযকষায জনয রভকীয কাযন পরত াপরয
পলাগগপরনয গগকউগযগট গক াঅনায পলাগগনগট ডমন গগকউয য় vulnerabilities data integrity এফাং reliability ডথপরক
াঅনায পলাগগনপরক গক গগকউগযগট ডদপরফন ওয়াডডপরে এনবায়যনপরভপরনট াঅনায পলাগগনপরক গগকউগযগট ডদয়া খফ কগঠন কাজ নয় এফাং খফ ভয় াপরকষ গফলয়ও নয় ওয়াডডপরেপরয গনজসব গকি পাাংন এপরকষপরতর াঅনাপরক খফাআ াাময কযপরফ
াআউজায াযগভন াঅভযা াপরনক পলাগগন াআনসটর কযায পরযাআ ডদপরখগি ডম মখনাআ এডগভন যাপরনর এ েপরফ কযপরত মাাআ তখন একগট এযয ডভপরজ াঅপর ডভপরজগট গনপরচয ভত-
ডরখা াঅপরি- You do not have sufficient permissionshellip এটা গনশচয়তা ডদয় ডম ডমপরকান এযাকন ীভাফি থাপরক গনগদডষট গকি যাাআট গদপরয় ওয়াডডপরেপরয একগট কভন পাাংন র current_user_can() একগট উদাযন ডদাআ-
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
38
ltphp
Capability
if ( current_user_can(install_plugins) )
wp_die( Insufficient permissions )
Role
if( current_user_can(editor) )
wp_die( You cannot edit this setting )
gt
খফ তাড়াতাগড় াঅগন এাআ current_user_can() পাাংন ডচক কযপরফন না কাযন এটা গনবডয কযপরফ get_currentuserinfo() এাআ পাাংপরনয উপরয াঅয এয ফযফাপরয ীভাফিতা াঅপরি এটা একগট পলাপরগফর পাাংন(pluggable function) াঅয এয ডরাপরকন পরচছ wp-
includespluggablephp মা পলাগগন এগকটব ফায য ডরাড য়
Nonces
ডকউ এগটপরক াঅফায Nonsense( গনপরফডাধ) বাফপরফন নাএগট ওয়াডডপরেপরয বালায় Nonces কগমপউটাপরযয বালায় nonce ফা cryptographic nonce পরচছ ldquonumber used once rdquo এটা ডিাট এফাং সপষট গকি য যানডভ গসটরাং ডমভন- াওয়াডড মা গকি গনপরদড কপরয Nonce গপরডন গপলড পভডপরক Retrieve ফা display কপরয-
একজন ওয়াডডপরে াআউজায ডমপরকান একগট এযাকন (delete update save and such) একগট াফপরজকট(একগট ডাসট পলাগগন ডগটাং াআতযাগদ) ২৪ ঘনটায একগট ভয় ডিভ
ডমভন ডাসট 50 গডগরট কযপরফন াঅনায ওয়াডডপরে বলগ ডথপরক তাপরর াঅনায গরঙকগট পরফ এযকভ- httpexamplecomwp-admin
postphppost=43ampaction=trashamp_wpnonce=83a08fcbc2
এখাপরন 83a08fcbc2 এগট র nonce মা ২৪ ঘনটা সথায়ী থাপরক রধভাতর এগট মগদ াঅনায িাযা ফযফরত য় এফাং গডগরট য় ডাসট 50 মখন াঅগন গরপরঙক গিক কপরযন ফপরচপরয় গযতবনড র ডম Nonce ডকান malicious াআউজায ফেপরত াপরযনা এফাং গঠক গরঙক িাড়া nonce এযয ডপরজ চপরর মায় ডমখাপরন াযগভন থাপরক না াঅপরযা গফসতাগযত ডদখন httpcodexwordpressorgWordPress_Nonces
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
39
Nonce URL ততগয এফায চরন াঅপরগয উদাযন ডথপরক Nonce URL ততগয কগয একগট ডাসট গডগরট কযায জনয wp_nonce_url() পাাংন ফযফায কযা য় ltphp
$url = wp_nonce_url( $url $action )
gt
েথভ যাযাগভটায $url পরচছ গসটরাং URL এপরডর এয মাপরক াঅগন কপরয়যী গসটরাং এয Nonce কযপরত চান াফযফহরত পলাগগপরনয গডগরট গরঙক এযকভ থাপরক- httpexamplecomwp-admineditphppage= liton
_utagsampliton_action=deleteampid=6
এখাপরন ডদখন যাযাগভটায liton_action এফাং এয টযাগ াঅাআগড গিতীয় যাযাগভটায পরচছ $action একগট গসটরাং মা াঅগন একগট াফপরজকট এয জনয একগট action ততগয কযপরফন উপরয ডদখরাভ delete এযাকন এয টযাগ াঅাআগড 6 সতযাাং $action যাযাগভটায পরত াপরয bdquoliton_utags-delete_tag6‟ গনপরচ ফাসতফ উদাযন ডদগখ- ltphp
$delete_url = add_query_arg(array( liton _action=gtdeleteid=gt$id) )
$nonced_url = wp_nonce_url( $delete_url bdquoliton _utags-delete_tag$id )
gt
lta href=ltphp echo $nonced_url gtgtdeleteltagt
এাআ টযাগগট পরফ গডগরট গরঙক এখাপরন add_query_arg() পাাংন ফযফায কযা পরয়পরি মা কাপরযনট URL ডক এযাপরয যাযাগভটায এয ভপরধয যাপরখ ানযবাপরফ ফরপরর এগট ডমাগ কপরয এযকভাঃ liton_action=deleteampid=6 amp liton_action=deleteampid=6
Nonce Form ততগয Nonce পভডপরকও ডোপরটকট কপরয wp_nonce_field() পাাংপরনয ভাধযপরভ ltphp
wp_nonce_field( $action $name $referer $echo ) gt
$action ( string) (optional) - action নাভ াআউগনক identifier optional
গকনত recommended $name (string) (optional) ndash গপরডন গপলড পভড ডবগযপরয়ফর নাভ $referer (boolean) (optional) ndash গডপলট গপরপরফ true থাপরক ডমখাপরন গপলড
ডবগরপরডন এয দযকায য়
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
40
$echo (boolean) (optional) - গডপলট গপরপরফ true থাপরক ডমখাপরন াঅউটট ডদখাপরনায ফা গপরডন পভড গপলড গযটানড কযায জনয দযকায য়
পপরভড াঅনায action এয নাভ গদন ltform method=postgt
lt-- some inputs here --gt
ltphp wp_nonce_field(name_of_my_actionname_of_nonce_field) gt
ltformgt
াঅভযা একগট পলাগগন ফানাপরফা ডমখাপরন াফযফরত টযাগগপররাপরক াঅভযা ভযানয়াগর গডগরট ফা গযপরনভ কযপরত াযফ এগট একট ফড় গকনত াপরনক গফলয়াআ াঅপরগাআ াঅপররাচনা কযা পরয়পরি ডদখপররাআ ফেপরত াযপরফন একগট ফাসতফধভডী উদাযন গনপরচ গদরাভ- ltphp
Plugin Name Liton Unused Tags
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add an entry for our option page to the Posts menu
add_action(admin_menu liton_utags_add_page)
function liton_utags_add_page()
add_posts_page( Unused Tags Unused Tagsmanage_optionsliton_utags
liton_utags_option_page )
Catch any liton_action parameter in query string
add_action( admin_init liton_utags_do_action )
Proceed to requested liton_action if applicable
function liton_utags_do_action()
if( isset( $_REQUEST[liton_action] ) )
return
if( current_user_can( manage_options ) )
wp_die( Insufficient privileges )
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
41
$id = $_REQUEST[id]
$action = $_REQUEST[liton_action]
if( $action == done )
add_action( admin_notices liton_utags_message )
return
check_admin_referer( liton_utags-$action_tag$id )
switch( $action )
case rename
$newtag = array( name =gt $_POST[name] slug =gt
$_POST[name] )
wp_update_term( $id post_tag $newtag )
break
case delete
wp_delete_term( $id post_tag )
break
wp_redirect( add_query_arg( array( liton_action =gt done )
) )
Admin notice
function liton_utags_message()
echo ltdiv class=updatedgtltpgtAction
completedltpgtltdivgt
Draw the tag management page
function liton_utags_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtUnused Tagslth2gt
ltphp
if( $tags = liton_utags_find_orphans() )
echo ltpgtYou currently have count( $tags ) unused
tagsltpgt
echo ltolgt
foreach( $tags as $tag )
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
42
$id = $tag-gtterm_id
$name = esc_attr( $tag-gtname )
$delete_url= add_query_arg(
array(liton_action=gtdeleteid=gt$id) )
$nonced_url= wp_nonce_url( $delete_url
liton_utags-delete_tag$id )
gt
ltligt
ltform action= method=postgt
ltphp wp_nonce_field( liton_utags-rename_tag$id )
gt
ltinput type=hidden name=liton_action
value=rename gt
ltinput type=hidden name=id value=ltphp echo
$id gt gt
ltinput type=text name=name value=ltphp echo
$name gt gt
ltinput type=submit value=Rename gt or
lta href=ltphp echo $nonced_url gtgtdeleteltagt
this tag
ltformgt
ltligt
ltphp
else gt
ltpgtYou have no unused tagsltpgt
ltphp endif gt
ltolgt
ltdivgt
ltphp
Find unused tags return them in an array
function liton_utags_find_orphans()
global $wpdb
$sql = SELECT termsterm_id termsname FROM
$wpdb-gtterms terms
INNER JOIN $wpdb-gtterm_taxonomy taxo
ON termsterm_id=taxoterm_id
WHERE taxotaxonomy = post_tag
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
43
AND taxocount=0
return $wpdb-gtget_results( $sql )
gt
ডযাপরফাপরডড এাআ পলাগগপরনয ডভন াওয়া মাপরফ ডাসট এয াফপরভন গপরপরফ গনপরচ ডদখন-
এফায পলাগগন ডভনপরত গিক কপরয ডদগখ পলাগগপরনয ডবতপরযয কাজ-
উপরয ডদখন াঅগভ একগট টযাগ ততগয কপরযগিরাভ l i নাপরভ এগট এখাপরন ডদখাপরচছ াঅগভ চাাআপরর এগট এগডট ফা গডগরট কযপরত াগয এফায গডগরট গরঙক এ ভাউপরয কাডয ডযপরখ গনপরচ গরঙক ডদখন ফা গডগরট করন একগট টযাগ াঅভায এখাপরন URL গট এযকভ httplocalhostdev-litonwp-
admineditphppage=liton_utagsampliton_action=doneampid=4amp_wpnonce=30a44b7
986
এখাপরন াঅগভ liton_action=done ফযফায কপরযগি Nonces এয পাাংনগপররায নাভ গনপরচ গদরাভ াঅনাযা ডদপরখ গনপরফন াআনটাযপরনট ডথপরক wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_create_nonce()
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
44
check_admin_referer()
check_ajax_referer()
ডাটাপরফ াঅনাযা ডমপরত গএাআচগ গনপরয় কাজ কপরযন এগকউএর ডাটাপরফ এয াপরথ ফাাআ কভপরফী গযগচত এয গনটযাকস গপররা ডভাটাভগট ফায জানা একাআ বাপরফ াপরনপরকাআ ওয়াডডপরেপরও ডাটাপরফ ডকাড গরপরখন এটা ডকাগডাং এয জনয খাযা গদক াঅগভ নযভার গএাআচগ- এগকউএর ডকাড এয উদাযন গদগচছ- ltphp
$sql=rdquoINSERT INTO $wpdb-gtposts(post_title) VALUES(bdquo$title‟)rdquo
$wpdb-gtquery($sql) gt
এফায ওয়াডডপরেপরয সটযানডাডড ডকাগডাং গপরসটভ ডদখন- ltphp
$wpdb-gtinsert($wpdb-gtposts
array(bdquopost_title‟ =gt $title)
array(bdquos‟)
)
gt
ডাটাপরফ গগকউয কযায জনয াঅপরডট াাপরযন ডদখাফ- গনপরচয ডকাডগট খাযা েযাকগট ltphp
$wpdb-gtquery(ldquoUPDATE $wpdb-gtposts SET post_title=‟$newTitle‟ WHERE
ID=$my_idrdquo )
gt
উপরযয ভত কপরয না গরপরখ গনপরচয ভত কপরয গরখন- ltphp
$wpdb-gtupdate($wpdb-gtposts
Array(bdquopost_title‟ =gt‟$newTitle‟)
Array(bdquoID‟ =gt$my_id
)
gt
ানর বাপরফ ানযানয াাপরযন গপররা গরখপরফন
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
45
াধযায়- াঅটাঃ ডরাকারাাআপরজন এফাং Set t i ngs API
ডরাকারাাআপরজন ডরাকারাাআপরজন একগট গরতবনড গফলয় এয পাাংনগপররা র- load_theme_textdomain()
load_plugin_textdomain()
উদাযন- ltphp $var=__(bdquoHello‟‟domain‟) gt
ltphp _e(bdquoHello‟‟domain‟) gt
গফসতাগযত গনপরচয গরপরঙক ডদখন- httpcodexwordpressorgI18n_for_WordPress_Developers
ডগটাং API
ডগটাং API পরচছ াঅগন গকি ান ততগয কযপরফন মা াআনটাযনার বাপরফ াঅনায পলাগগপরন এপলাাআ পরফ মখন াঅগন াআউজায- গডপাাআন ান ততগয কযপরফন াঅনায পলাগগপরনয জনয তখন Settings
API ndashএ াঅনায ডকাড মতটা ারন জ করন Settings API াঅনায ডম কাজগপররা handle কপরয-
ওয়াডডপরেপরক জাগনপরয় ডদয় ডম াঅগন গনজসব ান ফযফায কযপরফন াঅনায াআনটপরক পাাংপরনয ভপরধয উপরেখ কযপরফ ডফগয বাগ ান ডজ গনপরজাআ ততগয কযপরফ $_POST ডাটা গপররাপরক ভগনটয কপরয ান ততগয এফাং াঅপরডট কপরয(মগদ েপরয়াজন য়)
Settings API পাাংন Settings API পাাংপরন গতনগট ডসট থাপরক- ১ েথপরভ ওয়াডডপরেপরক ফপরর ডম াঅগন নতন ডগটাং ফযফায কযপরফন াঅনায পলাগগপরনয জনয ২ এয পরয ডগটাং গডপাাআন করন (text areas input boxes and any
HTML form element) এফাং এপরদযপরক একাপরথ রে কপরয যাপরখ ৩ ওয়াডডপরেপরক াঅনায ডগটাং actual form এ ডদখাপরনায জনয ফপরর
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
46
এফায াঅভযা একগট পলাগগন ফানাপরফা Administration Page ndashএ ডযপাপরযনস গপরপরফ ডদখপরত াপরযন- httpcodexwordpressorgAdding_Administration_Menus
httpcodexwordpressorgFunction_Referenceadd_options_page
httpcodexwordpressorgAction_ReferenceActions_Run_During_an_Admin_P
age_Request
পলাগগপরনয এডগভন ডজ পরফ এযকভ- httpexamplecomwp-adminoptions-generalphppage=liton_myplugin
েথপরভ াঅভযা ডভন ততগয কযফ াঅপরগয ভত কপরয- Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
এফায ান ডজ এ পভড গনপরয় গকি ডগটাং ডদফ function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
উপরযয ডকাপরড াঅভযা একগট পপরভডয ভপরধয রধ াফগভট ফাটন এফাং My Plugin নাপরভ ডজ ততগয কপরযগি ডযাপরফাপরডড ডদখন-
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
47
ডগটাং এয াফ ডভন গপরপরফ My Plugin াঅপরি এফাং My Plugin ডত গিক কযপরর াঅভযা উপরযয ডজ ততগয কপরযগি ডমখাপরন াফগভট ফাটনগট ডদখাপরচছ এফায গতনগট যাযাগভটায ডযগজসটায কযফ- ltphp
register_setting( liton _myplugin_options liton _myplugin_options liton
_myplugin_validate_options)
gt
েথভগট ডগটাং রেপরয নাভ গিতীয়গট ান নাভ মা াঅভযা get_option() পাাংন গদপরয়ও ডপরত াগয ততীয়গট করফযাক পাাংন এগট একগট গসটরাং ডযপাপরযনস পাাংন এখাপরন াঅভযা নাভ
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
48
গদপরয়গি liton _myplugin_validate_options মা া কযপরফ পপরভডয কর ডব ডগটাং াঅভযা এটা পরয গডপাাআন কযফ
ডগটাং গডপাাআন ডকন add_settings_field() এফাং add_settings_section() পাাংন গদপরয় াঅভযা াঅভাপরদয কর ডগটাং গডপাাআন কযফ ltphp
add_settings_section( liton_myplugin_main My Plugin Settings
liton_myplugin_section_text liton _myplugin)
add_settings_field( liton _myplugin_text_string Enter text here
liton _myplugin_setting_input liton _myplugin liton _myplugin_main)
gt
add_settings_section() পাাংন গদপরয় াঅভযা ডদখাফ াঅপরর ডজ এ ডকন ডকভন ডদখাপরফ এয চাযগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ ডকন টাাআপরটর ltH3gt টযাপরগয ভপরধয করফযাক পাাংন এয নাভ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ (page= liton _myplugin এগট
URL এয াাং গপরপরফ থাকপরফ) গিতীয় যাযাগভটায add_settings_field() পপরভডয াআনট গপরপরফ ডদখাপরনা পরয়পরি এখাপরন াাচগট যাযাগভটায াঅপরি-
ডকপরনয জনয HTML ID টযাগ পরযয গপপরলড গক গেনট কযা পরফ তা ডটকসট গপরপরফ ডদখাপরনা পরয়পরি(Enter text
here)
করফযাক পাাংন পপরভড গেনট কযপরফ ডগটাং ডজ এয ডম ডকনগট ডদখাপরফ ডগটাং ডপরজয ডকন গপলড মা add_settings_section() পাাংপরন গডপাাআন
কযা পরয়পরি ltphp
Explanations about this section
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
49
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton _myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name= liton _myplugin_options[text_string]
type=text value=$options[text_string] gt
gt
গিতীয় পাাংন ান বযার text_string ডক এযাপরযপরত ডসটায কপরয ডযপরখপরি এফায াআউজায াআনট বযাগরপরডট কযফ- ltphp
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace([^a-zA-Z]$input[text_string] )
return $valid
gt
পভডপরক ডযনডায কযফ- ltphp
Draw the options page
function liton_myplugin_options_page()
gt
ltdiv class=wrapgt
ltphp
screen_icon()
gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp
settings_fields( liton_myplugin_options)
do_settings_sections(liton_myplugin)
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
50
gt
ltinput name=Submit type=submit value=Save gt
ltformgtltdivgt
ltphp
gt
settings_fields() পাাংনগট ডযপাপরযনস গপরপরফ ফযফায কযা পরয়পরি মা াঅভযা register_setting() পাাংপরন গডপরিয়ায কপরযগি do_settings_sections() পাাংনগট কর কযপরফ কর াঅউটট ডকন এফাং পভড গপলডপরক মা াঅভযা পরফড গডপাাআন কপরযগি াঅভাপরদয কাজ ডল এফায পরযা পলাগগনগট ডদখফ- ltphp
Plugin Name Settings API example
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
Add a menu for our option page
add_action(admin_menu liton_myplugin_add_page)
function liton_myplugin_add_page()
add_options_page( My Plugin My Plugin manage_options liton_myplugin
liton_myplugin_option_page)
Draw the option page
function liton_myplugin_option_page()
gt
ltdiv class=wrapgt
ltphp screen_icon() gt
lth2gtMy pluginlth2gt
ltform action=optionsphp method=postgt
ltphp settings_fields(liton_myplugin_options) gt
ltphp do_settings_sections(liton_myplugin) gt
ltinput name=Submit type=submit value=Save
Changes gt
ltformgtltdivgt
ltphp
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
51
Register and define the settings
add_action(admin_init liton_myplugin_admin_init)
function liton_myplugin_admin_init()
register_setting( liton_myplugin_options
liton_myplugin_options
liton_myplugin_validate_options )
add_settings_section( liton_myplugin_main My Plugin
Settings
liton_myplugin_section_text liton_myplugin )
add_settings_field( liton_myplugin_text_string Enter text
here
liton_myplugin_setting_input liton_myplugin
liton_myplugin_main )
Draw the section header
function liton_myplugin_section_text()
echo ltpgtEnter your settings hereltpgt
Display and fill the form field
function liton_myplugin_setting_input()
get option text_string value from the database
$options = get_option( liton_myplugin_options )
$text_string = $options[text_string]
echo the field
echo ltinput id=text_string
name=liton_myplugin_options[text_string]
type=text value=$text_string gt
Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid = array()
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
return $valid
gt
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
52
ডদখন ডযাপরফাপরডড ডকভন ডদখায়-
পরয় ডগর াঅভাপরদয েথভ নডাাংগ পলাগগন ান ডজ াঅপরযকগট গজগন ডমটায জনয এতগকি পলাগগন URL এপরডর- httplocalhostdev-litonwp-adminoptions-
generalphppage=liton_mypluginampsettings-updated=true
াঅভায এখাপরন এযকভ ডদখাপরচছ ডটকসট ফপরকস ডকান গকি গরপরখ ডব কযায য এফাপরয াঅপরযকগট গজগন ডদখফ াঅভযা াপরনক ভয়াআ াপরনক পলাগগপরনয াআনট গপপরলড বর ডাটা াআনট কযপরর এযয ডভপরজ ডদখায় এাআ কাজগট কযফ এফায াঅভযা এখাপরন esc_attr() ফা esc_html() ফযফায কগযগন সতযাাং াঅভাপরদয গরগভপরটন থাকপরি ডবগরপরডট পাাংনগট একট এগডট কগয গনপরচয ভত কপরয Validate user input (we want text only)
function liton_myplugin_validate_options( $input )
$valid[text_string] = preg_replace(
[^a-zA-Z]
$input[text_string] )
if( $valid[text_string] = $input[text_string] )
add_settings_error(liton_myplugin_text_stringliton_myplugin_texterror
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
53
Incorrect value enterederror)
return $valid
উপরয ডদখন add_settings_error() পাাংন ফযফায কপরযগি মা এযয ডচক কযপরফ পপরভডয াঅগভ একগট বর ডাটা(পরসপার কযাপরযকটায) াআনট কপরয ডদখরাভ এযয ডদখাপরচছ-
তায ভাপরন াঅভযা পর পরয়গি াঅনায পলাগগনগট এগডট কপরয ডনপরফন ডকায ডকন এফাং গপপরলডয গরসট গদরাভ াঅনাপরদয সগফধায জনয
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
54
CSSJS পাাআর মি কযা
াঅনায পলাগগপরন গএএ ফা জাবাগিে ডমাগ কযপরত পরত াপরয াঅগন চাাআপরর ফাগপরযয ডকান ফা াঅনায ততগয ডকান গএএ ফা জাবাগিে পাাআর ডমাগ কযপরত াপরযন তপরফ এপরকষপরতর াঅভযা ডমবাপরফ HTML এ পাাআর ডমাগ কগয ডযকভ না function liton_scripts()
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtojqueryjsrdquogtltscriptgt‟
echo bdquoltscript type=rdquotextjavascriptrdquo src=rdquopathtoscriptjsrdquogtltscriptgt‟
add_action(bdquowp_head‟‟liton_scripts‟)
এগট মপনডরপর বর িগত গনপরচ ডদখন ওয়াডডপরেপর গকবাপরফ পাাআর মি কযপরত য়- function liton_scripts()
wp_enqueue_script(bdquojquery‟)
wp_enqueue_script(bdquotheme-scripts‟‟pathtoscriptsjs‟)
add_action(bdquowp_enqueue_script‟‟liton_scripts‟)
ানর বাপরফ াঅগন সটাাআরীট ডমাগ কযপরত াপরযন- function liton_styles()
wp_enqueue_ style (bdquocss‟)
wp_enqueue_ style (bdquotheme- styles‟pathto stylescss‟)
ডযপাপরযনস ডদখন- httpcodexwordpressorgFunction_Referencewp_enqueue_script
httpcodexwordpressorgFunction_Referencewp_enqueue_style
টডপরকাড টডপরকাড পরচছ ওয়াডডপরেপরয ডসপগগপক ডসপার টযাগ মা াঅগন ডাসট ফা ডপরজয ভপরধয াআনাটড কপরয ানয ডকান কনপরটনটপরক ওপরয়ফাাআপরটয ভপরধয গযপরপল কযপরত াযপরফন মগদ াঅগন গযারাগয টাাআপরয ডকান পলাগগন ফযফায কপরয থাপরকন তাপরর াঅনায ধাযনা থাকায কথা মাাআ ডাক াঅগভ কপরয়কগট উদাযি ডদখাফ
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
55
েথপরভ একগট পলাগগন ততগয কযফ ডমখাপরন add_shortcode() নাপরভয একগট পাাংন থাকপরফ এগট রগট যাযাগভটায েন কপরয েথভগট টডপরকাপরডয নাভ গিতীয়গট ডম পাাংনপরক কর কযপরফন ডগট াঅভযা একগট উদাযন ডদগখ- ltphp
Plugin Name Liton Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(litonhi)
function hi()
echo Hello World
gt
উপরয ডদখন খফ ডিাট গকনত াঅগন চাাআপরর এয ফযফায াপরনক গফসতত কযপরত াপরযন এখাপরন টডপরকাড নাভ পরচছ liton াঅয এগটপরক ডরখা য় এবাপরফ [liton] াঅভযা ডাপরসটয ভপরধয াআনাটড কপরয ডদগখ াঅউটট ডকভন ডদখায়-
এফায াঅউটট ডদগখ-
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
56
াঅভাপরদয ততগয কযা টডপরকাড পরবাপরফাআ কাজ কযপরি াঅপরযকগট উদাযন ডদখফ াঅনাযা াপরনপরকাআ গগর এডপরনস গনপরয় কাজ কপরযন াঅনাযা াপরনপরকাআ এডপরনস এয জনয পলাগগন ফযফায কপরযন গকনত চাাআপররাআ এাআ কাজগট াঅনাযা গনপরজয ভত কপরয াগজপরয় গনপরত াপরযন গগপররয কাপরি ফ ডাসট বযার ায়না াঅনাযা মাযা একসাটড াঅপরিন তাযা এটা বার কপরয জাপরনন তাাআ াপরনপরকাআ গগপররয ডকাড ফ ডপরজ ডদখাপরত চান না এজনয পলাগগন ফযফায কপরয রাব য়না কাযন পলাগগপরন জায়গা গপকসড থাপরক এপরত কপরয াঅগনডাং ও কভ য় াঅনাযা টডপরকাড ফযফায কপরয ডমপরকান জায়গায় এড ডদখাপরত াপরযন গনপরচ াঅগভ রগট টডপরকাড ততগয কপরযগি র‟ধযপরনয এড ডদখাপরনায জনয ltphp
Plugin Name Liton Adsense Shortcode
Plugin URI httpliton-onlinecomplugins
Description This is a demo description
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
add_shortcode(adsense_468adsense_468_60)
add_shortcode(adsense_250adsense_250_250)
function adsense_468_60($atts)
return ltscript type=textjavascriptgtlt--
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
57
google_ad_client = ca-pub-0956247412222369
468x60 created 101510
google_ad_slot = 4372705450
google_ad_width = 468
google_ad_height = 60
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
function adsense_250_250($atts)
return ltscript type=textjavascriptgtlt--
google_ad_client = ca-pub-0956247412222369
250x250 created 81809
google_ad_slot = 9368091893
google_ad_width = 250
google_ad_height = 250
--gt
ltscriptgt
ltscript type=textjavascript
src=httppagead2googlesyndicationcompageadshow_adsjsgt
ltscriptgt
gt
একগট টডপরকাড ফযানায টাাআপরয জনয এফাং াঅপরযকগট ২৫০২৫০ াাআপরজয এফায ডাপরসট ডমপরকান একগট টডপরকাড াআনাটড করন ডমখাপরন াঅনায ডদখাপরনায েপরয়াজন ভপরন কপরযন াঅগভ রগট ডকাড ডটসট কপরয ডদখরাভ-
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
58
এফায াাআপরটয াঅউটট ডদগখ-
রগট এডাআ ডদখাপরচছ াঅপরযা াপরনক কাপরজ াঅগন টডপরকাড ফযফায কযপরত াপরযন ডযপাপরযনসাঃ httpcodexwordpressorgShortcode_API
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
59
াধযায়- নয়াঃ পলাগগন উদাযন
ওয়াডডপরেপরয ডডটটাাআভকপরভনট নামবায ফাাংরা কযায পলাগগন াঅভাপরক কপরয়কজন ফপররগিপররন ওয়াডডপরেপরয গডপলট ডডটটাাআভকপরভনট নামবায ফাাংরা য়না রযাাংগপরয়জ ফাাংরা কযায যও ডডটটাাআভকপরভনট নামবায গপররা াআাংপরযগজ ডথপরক মায় গনপরচয পলাগগনগট ফযফায কপরয ডদখপরত াপরযন- ltphp
Plugin Name Liton Bangla datetimecomment number
Plugin URI httpliton-onlinecomplugins
Description Bangla datetimecomment number
Version 10 Author Md Liton Arefin
Author URI httpliton-onlinecom
This function converts all english numbers to bangla number
function make_bangla_number($str)
$engNumber = array(1234567890)
$bangNumber = array( ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ) $converted = str_replace($engNumber $bangNumber $str)
return $converted
add_filter( get_the_time make_bangla_number )
add_filter( the_date make_bangla_number )
add_filter( get_the_date make_bangla_number )
add_filter( comments_number make_bangla_number )
add_filter( get_comment_date make_bangla_number )
add_filter( get_comment_time make_bangla_number )
gt
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
60
সলাাআডায পলাগগন াঅভযা এাআ ফাআপরয়য কর গটউপরটাগযয়াপরর মা মা গখরাভ তা এফায একগট নডাাংগ পলাগগপরনয এপলাাআ কযফ সলাাআডায পলাগগন মপপরকড াঅভযা ফাাআ জাগন একগট ওপরয়ফাাআপরটয ডচাযা ারপরট ডদয় একগট সলাাআডায াপরনক ডাাআনাগভক ভপরন য় ডদখপরতও াপরনক বার রাপরগ এাআ পলাগগপরন াঅভযা এডগভন যাপরনর ডথপরক াআপরভজ ডমাগ কযফ এফাং তা াঅভাপরদয াাআপরট ডদখাফ চরন কাজ রর কগয- েথপরভ গনপরবা সলাাআডায এয ওপরয়ফাাআপরট মান এফাং jQuery Plugin ডাউনপররাড করন
ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom Version 10
gt
াঅভযা পলাগগপরনয ডডায ততগয কযরাভ
পলাগগন গরপরসট ডদখাপরচছ bdquoLitons Nivo Plugin‟ াঅভাপরদয েথভ কাজ পরচছ custom post
type ওয়াডডপরে পাাংনাগরগট একগট নতন কাসটভ ডজ ততগয কযপরত custom post type
ফযফহরত পরফ ডমখাপরন একগট াআপরভজ থাকপরফ াঅভযা রধ টাাআপরটর ডনভ এফাং াআপরভজ াঅপররাডায গপরপরফ গপচায াআপরভজ পাাংনাগরগট ফযফায কযফ function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_function 600 280 true)
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
61
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
add_action(init np_init)
উপরযয ডকাপরড np_init() পাাংনগট রক কপরযগি মা ডডায যান কযায াঅপরগ যান পরফ াঅয এজনয register_post_type() পাাংনপরক এয যাযাগভটায গদপরয় np_init() পাাংপরনয ডবতপরয মি কপরযগি এটা মগদ না কযতাভ তাপরর ldquoHeaders already sentrdquo ডভপরজ ডদখাত এাআ ডভপরজগটয াপরথ াপরনপরকাআ গযগচত াঅা কগয register_post_type() পাাংন গদপরয় াঅভযা াআপরভজ মি এফাং ভযাপরনজ কযফ ভরত াঅভযা একগট নতন custom post type ডমাগ কপরযগি np_images নাভ গদপরয় নতন custom post type ডক ডগটাং বযার গপরপরফ াঅযগপরভনট া কপরযগি $args ডবগযপরয়ফরগট ট ডরপরবর ডভন ততগয কপরয াঅপরগাআ ডদপরখগি পলাগগনগট এগকটপরবট কযপরর াঅভযা গনপরচয ভত ডদখপরত াফ-
এফায গিে এফাং সটাাআরীট ডক মি কযফ- add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
এফায রক কযা পাাংনগপররা গডপরিয়ায কগয- function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__) array( jquery ))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
62
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
উপরযয ডকাডগপররা নতন কপরয ফিডনা কযায গকি ডনাআ াঅপরগাআ wp_enqueue_style() এফাং wp_enqueue_script() মপপরকড ফরা পরয়পরি নতন াঅপরযকগট পাাআর ততগয করন একাআ গডপরযকটগযপরত scriptjs এফাং গনপরচয ডকাডটক গদন- jQuery(document)ready(function($)
$(slider)nivoSlider()
)
াআপরভজপরক গযাাআজ করন- add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
াঅভযা এাআ পলাগগনগটপরক উাআপরজট গপরপরফও ফযফায কযফ ডগট পরয ডদখফ াঅপরযকগট গজগন মগদ গথপরভ না ডদয়া থাপরক ডজনয থামবপরনাআর াপরাটড গদপরয় গদন- add_theme_support( post-thumbnails )
এফায ওয়াডডপরেপরয কাপরযনট ডাসট কপরয়যী কযায ডকাড াঅয $result ডবগযপরয়ফপরর ডমফ ltdivgt টযাগ ফযফায কযা পরয়পরি তা jQuery Plugin গট একসিাকট কপরয indexhtml ডজগটয ডভাআন সলাাআডায ডকাডগট ডদখন একাআ াঅপরি রধ ডখানকায ltdivgt টযাগ গপররাপরক কগ কপরয এাআ পলাগগপরন ফযফায কযা পরয়পরি এফায টডপরকাড গদন- add_shortcode(np-shortcode np_function)
এাআ টডপরকাড গএাআচগ পাাংনপরক রক কযপরফ এফাং এয ভধয ডথপরক সলাাআডপরায কনপরটনট ডক গযটানড কযপরফ াঅভাপরদয টডপরকাড পরচছ [np-shortcode] াঅভযা পলাগগপরন মাাআ এফাং একগট িগফ মি কগয গপচাযড াআপরভজ গপরপরফ গনপরচ ডদখন-
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
63
াঅগভ াঅপরযকগট ডজ ততগয কপরযগি ডমখাপরন টডপরকাড গদপরয়গি
াঅউটট ডজ ডদগখ এফায-
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
64
পরয় ডগর াঅভাপরদয সলাাআডায পলাগগন পরযা ডকাডগট গনপরচ গদরাভ- ltphp
Plugin Name Litons Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Md Liton Arefin
Author URI httpliton-onlinecom
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
65
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
66
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
এফায াঅগন মগদ উাআপরজট গপরপরফ ফযফায কযপরত চান তাপরর গনপরচয ডকাডটক গদন- class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
67
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
echo $after_widget
াঅপরযা রগট কাজ কযপরত পরফ াঅনাপরক এক াআপরভজ াাআজ উাআপরজট এয জনয গঠক কপরয গদপরত পরফ- add_image_size(np_widget 180 100 true)
াঅপরযকগট র উাআপরজট এযাকন রক ডমাগ কযা add_action(widgets_init np_widgets_init)
উাআপরজট পরযা ডকাড াঅফায গদরাভ- ltphp
Plugin Name Nivo Plugin
Description Simple implementation of a nivo slideshow into wordpress
Author Ciprian Turcu
Version 10
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
68
class np_Widget extends WP_Widget
public function __construct()
parent__construct(np_Widget Nivo Slideshow array(description =gt
__(A Nivo Slideshow Widget text_domain)))
public function form($instance)
if (isset($instance[title]))
$title = $instance[title]
else
$title = __(Widget Slideshow text_domain)
gt
ltpgt
ltlabel for=ltphp echo $this-gtget_field_id(title) gtgtltphp
_e(Title) gtltlabelgt
ltinput class=widefat id=ltphp echo $this-gtget_field_id(title) gt
name=ltphp echo $this-gtget_field_name(title) gt type=text value=ltphp
echo esc_attr($title) gt gt
ltpgt
ltphp
public function update($new_instance $old_instance)
$instance = array()
$instance[title] = strip_tags($new_instance[title])
return $instance
public function widget($args $instance)
extract($args)
the title
$title = apply_filters(widget_title $instance[title])
echo $before_widget
if (empty($title))
echo $before_title $title $after_title
echo np_function(np_widget)
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
69
echo $after_widget
function np_register_scripts()
if (is_admin())
register
wp_register_script(np_nivo-script plugins_url(nivo-
sliderjquerynivosliderjs __FILE__))
wp_register_script(np_script plugins_url(scriptjs __FILE__))
enqueue
wp_enqueue_script(jquery)
wp_enqueue_script(np_nivo-script)
wp_enqueue_script(np_script)
function np_register_styles()
register
wp_register_style(np_styles plugins_url(nivo-slidernivo-slidercss
__FILE__))
wp_register_style(np_styles_theme plugins_url(nivo-
sliderthemesdefaultdefaultcss __FILE__))
enqueue
wp_enqueue_style(np_styles)
wp_enqueue_style(np_styles_theme)
function np_widgets_init()
register_widget(np_Widget)
function np_function($type=np_function)
$args = array(post_type =gt np_images posts_per_page =gt 5)
$result = ltdiv class=slider-wrapper theme-defaultgt
$result = ltdiv id=slider class=nivoSlidergt
the loop
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
70
$loop = new WP_Query($args)
while ($loop-gthave_posts())
$loop-gtthe_post()
$the_url = wp_get_attachment_image_src(get_post_thumbnail_id($post-
gtID) $type)
$result =ltimg title=get_the_title() src= $the_url[0] data-
thumb= $the_url[0] alt=gt
$result = ltdivgt
$result =ltdiv id = htmlcaption class = nivo-html-captiongt
$result =ltstronggtThisltstronggt is an example of a ltemgtHTMLltemgt
caption with lta href = gta linkltagt
$result =ltdivgt
$result =ltdivgt
return $result
function np_init()
add_shortcode(np-shortcode np_function)
add_image_size(np_widget 180 100 true)
add_image_size(np_function 600 280 true)
$args = array(public =gt true label =gt Nivo Images supports =gt
array(title thumbnail))
register_post_type(np_images $args)
hooks
add_theme_support(post-thumbnails)
add_action(init np_init)
add_action(widgets_init np_widgets_init)
add_action(wp_print_scripts np_register_scripts)
add_action(wp_print_styles np_register_styles)
gt
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
71
পলাগগন গনপরয় এত ডিাট গযপরয ডরখা মভফ নয় এজনযাআ ভপরন য় পলাগগন গনপরয় ডকউ ডরপরখন না কাযন এখাপরন এত গফলয় াঅপরি মা াঅপররাচনা কযপরত ডগপরর ৫০০ ডজ ায পরয় মাপরফ ডফাোয সগফধাপরথড াঅগভ মথামভফ উদাযন গদপরয় ডফাোপরনায ডচষটা কপরযগি াঅগভ এখাপরন টাপরগডট কপরযগি মাযা টকটাক জাপরন পলাগগন মপপরকড এডবানস ডরপরবপররয নয় কাযন তাযা জাপরনন াঅভায উপরেশয গির মাযা জানপরত চায় তাপরদযপরক জানাপরনা এখাপরন ডমফ গফলয় াঅপররাচনা কযা পরয়পরি তা ডভাটাভগট ভাপরনয একগট পলাগগন ফানাপরনায জনয মপরথষট তপরফ ভাপরনাননয়পরনয জনয াঅনাপরক গনপরজাআ খাপরজ গনপরত পরফ াঅনায জনয ডকানটা বার পরফ াঅগভ রধ গদক গনপরদডনা গদরাভ ভাতর এাআ ফাআগট রধভাতর ওয়াডডপরে রেপরয জনয ডরখা াপরনক বর ভরাগনত থাকপরত াপরয াঅনাযা কষভাসনদয দগষটপরত ডদখপরফন াঅগভ ডচষটা কপরযগি মতটা জ কপরয ডরখা মায় াপরনক ভয় ডদখা মায় ডম খফ ডিাট খাপরটা গফলয় গনপরয় াপরনপরকাআ নক কপরযন এটা গতয রাঃখজনক াঅনাযা গগপরর একট খাজপররাআ ভাধান াপরফন াঅপরগ গনপরজ ডচষটা করন তায পরয ানযপরক ভাধাপরনয জনয গজজঞাা করন াঅভায জনয ডদায়া কযপরফন বাপররা রাগপরর জানাপরফন খাযা রাগপররও জানাপরফন তাপররাআ াঅভায গযশরভ সবাথডক পরফ ভতাভত জাগনপরয় াঅভাপরক ডভাআর কযপরত াপরযন litonice09gmailcom |
72
72