Shtojcat janë skriptet PHP që mund të ngarkohen në instalimin tuaj të WordPress për të zgjeruar dhe funksionalitetin e webfaqes tuaj, pa pasur nevojë të ndryshoni kodin bazë.
Krijimi i një plugin-i tuajin nuk është vërtet i vështirë dhe mund të zgjidhë shumë probleme. Kopjimi dhe ngjitja e kodit të dobishëm dhe veçorive shtesë në skedarin functions.php të temës suaj është fantastike, por këto ndryshime mund të humbasin kur përditësoni temën tuaj. Një shtojcë është një mënyrë e sigurt për të provuar gjëra të reja.
Ky artikull do t’ju ndihmojë në ngritjen e aftësive tuaja të zhvilluesit duke filluar me zhvillimin e shtojcave të WordPress, ku gjithashtu do të shohim disa koncepte të avancuara.
Një Plugin projekt i thjeshtë
Në këtë artikull ne do të krijojmë një shtojcë që integron WordPress dhe Facebook Open Graph. Tagjet Open Graph janë tagje speciale HTML, të cilat i japin Facebook-ut informacionin që i nevojitet për të (shpër)ndarë webfaqen tuaj dhe siguron që ajo të duket si duhet.
Këtu është një grup shembujsh tagjesh, të cilat mund të përdoren në webfaqen që po lexoni tani:
<meta property="og:title" content="A Beginner's Guide To Creating A WordPress Plugin" /> <meta property="og:site_name" content="Hostinkos Blog" /> <meta property="og:url" content="https://hostinkos.com/blog/a-beginners-guide-to-creating-a-wordrdpress-plugin" /> <meta property="og:description" content="Udhëzues fillestar për krijimin e një shtojce WordPress" /> <meta property="og:type" content="article" /> <meta property="og:image" content="http://hostinkos.com/blog/wp-content/uploads/2014/12/plugin-creation.jpg"/>
Për këtë projekt, ne duhet të sigurohemi që sa herë që shfaqet një artikull i vetëm në blog, tagjet Open Graph të shtohen në header të webfaqes. Header-i i webfaqeve përbëhen kryesisht nga meta të dhëna dhe pjesë të tjera të fshehura informacioni, dhe shtohen midis tagjeve <head> dhe </head> në një dokument HTML.
Pjesa tjetër e këtij artikulli do të fokusohet në realizimin e kësaj. Pas këtij shembulli, do të futemi më thellë në territorin e zhvillimit të shtojcave.
Krijimi i një shtojce të re
Gjëja e parë që duhet të bëni është të krijoni një dosje për të ruajtur shtojcën tuaj. Shkoni te drejtoria wp-content/plugins/ në instalimin tuaj të WordPress dhe krijoni një dosje të quajtur my-facebook-tags. Mbani në mend se çfarëdo që të emërtoni dosjen e shtojcës suaj do të jetë slug e shtojcës suaj.
Një slug shtojce duhet të jetë unik në të gjithë Depon e Shtojcave të WordPress nëse dëshironi ta ngarkoni dhe ta bëni të disponueshëm publikisht. Çfarë do të thotë kjo është se asnjë shtesë tjetër e krijuar nga dikush tjetër nuk duhet ta ketë këtë slug. Mund të kërkoni lehtësisht për shtojcat ekzistuese, thjesht përdorni Google!
Mbani në mend se emri i shtojcës nuk është domosdoshmërisht i njëjtë me slug-in e tij. Hidhini një sy shtojcës iThemes Security. Pjesa e fundit e URL-së është slug: better-wp-security. Sidoqoftë, emri i shtojcës është iThemes Security.
Nëse thjesht po krijoni një shtojcë për veten tuaj, është ende e rëndësishme të siguroheni që slugs të mos përplasen. Gjatë jetës së faqes suaj të internetit ju ndoshta do të përdorni një numër shtojcash dhe nuk dëshironi që njëra të përplaset aksidentalisht me tuajat dhe të shkaktojë probleme në faqen tuaj për shkak të një konflikti emërtimi.
Tani që keni dosjen tuaj my-facebook-tags, krijoni një skedar të ri brenda dhe emërtoni atë my-facebook-tags.php. Ky do të jetë skedari juaj kryesor i shtojcës dhe emri i tij duhet të jetë i njëjtë me slug-in tuaj të shtojcës, me shtrirjen PHP të ngjitur.
Hapni skedarin kryesor të shtojcës tuaj dhe ngjisni kodin e mëposhtëm:
Krijimi i një shtojce të re
Gjëja e parë që duhet të bëni është të krijoni një dosje/follder për të ruajtur shtojcën tuaj. Shkoni te drejtoria wp-content/plugins/ në instalimin tuaj të WordPress dhe krijoni një dosje të quajtur my-facebook-tags. Mbani në mend se çfarëdo që të emërtoni dosjen e shtojcës suaj do të jetë slug i shtojcës suaj.
Një slug shtojce duhet të jetë unik në të gjithë Repozitorin e Shtojcave të WordPress nëse dëshironi ta ngarkoni dhe ta bëni të disponueshëm publikisht. Çfarë do të thotë kjo është se asnjë shtesë tjetër e krijuar nga dikush tjetër nuk duhet ta ketë këtë slug. Mund të kërkoni lehtësisht për shtojcat ekzistuese, thjesht përdorni Google!
Mbani në mend se emri i shtojcës nuk është domosdoshmërisht i njëjtë me slug-un e tij. Hidhini një sy shtojcës iThemes Security. Pjesa e fundit e URL-së është slug: better-wp-security. Sidoqoftë, emri i shtojcës është iThemes Security.
Nëse thjesht po krijoni një shtojcë për veten tuaj, është edhe më e rëndësishme të siguroheni që slugs të mos kenë konflikte. Gjatë ciklit të jetës së webfaqes suaj ju ndoshta do të përdorni një numër shtojcash dhe nuk dëshironi që njëra të kënë konflikte aksidentalisht me tuajat dhe të shkaktojë probleme në webfaqen tuaj për shkak të një konflikti të emërtimit.
Tani që keni dosjen tuaj my-facebook-tags, krijoni një skedar të ri brenda dhe emërtoni atë my-facebook-tags.php. Ky do të jetë skedari juaj kryesor i shtojcës dhe emri i tij duhet të jetë i njëjtë me slug-in tuaj të shtojcës, me praprashtesën PHP të shoqëruar.
Hapni skedarin kryesor të shtojcës tuaj dhe ngjisni kodin e mëposhtëm:
<?php /** * Plugin Name: My Facebook Tags * Plugin URI: https://hostinkos.com * Description: This plugin adds some Facebook Open Graph tags to our single posts. * Version: 1.0.0 * Author: Hostinkos * Author URI: https://hostinkos.com * License: GPL2 */
Ky kod është një koment PHP, i cili nuk do të jetë i dukshëm drejtpërdrejt në administratorin e WordPress. WordPress përdor të dhënat brenda tij për të nxjerrë emrin e shtojcës dhe disa të dhëna të tjera në seksionin Plugins të backend. Kjo është përshtatur për faqen e internetit të Hostinkos, prandaj sigurohuni që të modifikoni autorin e shtojcës dhe vargjet e tjera sipas jush.
Pasi ta keni ruajtur këtë skedar, ju sapo keni krijuar shtesën tuaj të parë! Nuk bën absolutisht asgjë, natyrisht, por duhet të jetë i disponueshëm në seksionin e shtojcave dhe duhet të jeni në gjendje ta aktivizoni atë – vazhdoni dhe bëni atë tani.
Si funksionojnë shtojcat
Le të ndalemi për një moment për të parë se si funksionojnë shtojcat përpara se të vazhdojmë me projektin tonë Open Graph të Facebook.
Shtojcat ofrojnë funksionalitet me hooks, prandaj është thelbësore të kuptuarit se si funksionojnë ato. Le të shohim një analogji të botës reale për hooks. Ju i njihni këto ditarë të vegjël ku fjalia e parë thotë: Unë jam ditari i _________. Rreshti bosh është vendi ku vendosni emrin tuaj aktual.
Kjo linjë bosh është një hook. Në vend që të printohet posaçërisht për një person, hook nxit përdoruesin të shtojë emrin e tij/saj. Hooks funksionojnë diçka si kjo në WordPress, le të shohim një shembull.
Temat (ang. themes) kërkojnë të shtohet funksioni i mëposhtëm në skedarin e headerit: wp_head(). Brenda këtij funksioni është një pjesë e kodit ku WordPress thotë: Nëse një plugin dëshiron të vendosë një kod këtu, ai mund ta bëjë këtë. Hook wp_head na lejon të nxjerrim diçka në pjesën kryesore të webfaqes, e cila është pikërisht ajo që na nevojitet. Le ta testojmë këtë.
add_action( 'wp_head', 'my_facebook_tags' ); function my_facebook_tags() { echo 'I am in the head section'; }
Rreshti i parë i fragmentit të mësipërm i thotë WordPress-it se ne do të dëshironim të bashkëngjitnim disa funksionalitete në wp_head hook, duke përdorur funksionin my_facebook_tags().
Rreshti i dytë i kodit krijon atë funksion dhe rreshti i tretë i bën echo një stringu të thjeshtë.
Kjo tani duhet të jetë e dukshme në krye të çdo teme që aktivizoni, për sa kohë që përcakton funksionin wp_head() (përcaktimi i tij është një kërkesë). Ne do ta heqim atë varg me echo së shpejti pasi nuk duhet të shfaqni kurrë tekst në seksionin e header-it.
Për hir të korrektësisë na lejoni të përmendim dy gjëra. Ekzistojnë dy lloje të hook: veprime dhe filtra (ang. actions dhe filters). Në rastin e mësipërm kemi përdorur një veprim i cili është i dukshëm sepse kemi përdorur funksionin add_action(). Veprimet ekzekutohen sa herë që WordPress detekton hook që e thërret.
Filtrat janë të ngjashëm, por ato modifikojnë pak të dhënat që WordPress i përdor. Një shembull i mirë është mesazhi i daljes që shfaqet. Në vend që të kryeni një veprim sa herë që shfaqet një mesazh daljeje, një filtër ju lejon të modifikoni vetë mesazhin e daljes.
Gjëja e fundit që dua të përmend këtu është se teknikisht një funksion hook ekzekutohet kur ekzekutohet funksioni do_action() ose application_filters(). Funksioni wp_head() përmban thirrje për këto funksione të tjera brenda tij – nuk është vetë hook.
Plotësimi i shtesës sonë
Bazuar në përshkrimin e mësipërm, është shumë e qartë se ne duhet të shtojmë meta tagjet tona në Facebook duke përdorur wp_head hook.
Këtu është pjesa tjetër e kodit të nevojshëm për shtojcën tonë, e ndjekur nga një shpjegim:
d_action( 'wp_head', 'my_facebook_tags' ); function my_facebook_tags() { if( is_single() ) { ?> <meta property="og:title" content="<?php the_title() ?>" /> <meta property="og:site_name" content="<?php bloginfo( 'name' ) ?>" /> <meta property="og:url" content="<?php the_permalink() ?>" /> <meta property="og:description" content="<?php the_excerpt() ?>" /> <meta property="og:type" content="article" /> <?php if ( has_post_thumbnail() ) : $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' ); ?> <meta property="og:image" content="<?php echo $image[0]; ?>"/> <?php endif; ?> <?php } }
Ne në thelb i kemi ngjitur tagjet tona meta në funksionin ashtu siç është. Të vetmet gjëra që duhej të modifikonim ishin vlerat për t’u siguruar që ato pasqyronin postimin e shfaqur aktualisht. Kemi përdorur kodet is_single() të WordPress (dhe kemi kërkuar për “conditional_tags”) për t’u siguruar që tagjet shtohen vetëm kur shfaqet një postim i vetëm.
Për të përdorur titullin, fragmentin, imazhin, etj të postimit aktual, përdorëm template tags. I vetmi trik që përdorëm ishte të kontrollonim nëse postimi ka një imazh të veçuar përpara se të shfaqte tagun e Facebook për të.
Me këtë funksion të vetëm ne kemi krijuar diçka mjaft të dobishme. Të gjitha postimet në webfaqen tuaj tani duhet të kenë tagje miqësore për Facebook. Mund të siguroheni që ato janë konfiguruar siç duhet duke përdorur Open Graph Debugger.
Dhe tani shtojca jonë është e plotë. Le të shohim tani disa koncepte të tjera të shtojcave.
Hook i duhur për plotin e duhur
Tani që dini se si të shtoni gjëra në seksionin kryesor të webfaqes tuaj, le të shohim futjen e elementeve në pjesë të tjera të webfaqes.
Përdorimi i veprimeve është mjaft i lehtë. Nëse dëshironi të kryeni një veprim sa herë që WordPress bën diçka, ju po kërkoni një hook.
Po në lidhje me integrimin Google Analytics në secilën faqe? Kjo duhet të bëhet në footer. Ndoshta temat definojnë diçka të ngjashme me wp_head? Duke përdorur wp_footer mund të nxirrni kodin në fund të faqes. Vetë WordPress përdor këto dy hooks për të vendosur skriptet dhe stilet në vendet e tyre të sakta.
Deri më tani kjo ka qenë e lehtë sepse këto janë hooks që mund t’i shihni në temë. Por si thua për më shumë raste “të fshehura”? Po sikur të dëshironi t’i dërgoni autorit të një postimi një email pasi postimi i tij të publikohet. Kjo kërkon “veprim” sepse po thoni: Kur WordPress publikon një postim, atëherë bëni diçka.
Gjetja e këtyre hooks është bërë shumë më e lehtë vitet e fundit. Zakonisht emërtohen mirë: user_register, public_post, profile_update, etj. Nëse shkruani “add user WordPress hook” në Google, ka të ngjarë që menjëherë të hasni në “user_register”. Nga atje është vetëm një çështje e leximit të dokumentacionit. Le të përdorim public_post për t’u dërguar autorëve një email kur postimet e tyre publikohen. Këtu është kodi ynë:
add_action( 'publish_post', 'post_published_notification', 10, 2 ); function post_published_notification( $ID, $post ) { $email = get_the_author_meta( 'user_email', $post->post_author ); $subject = 'Published ' . $post->post_title; $message = 'We just published your post: ' . $post->post_title . ' take a look: ' . get_permalink( $ID ); wp_mail( $email, $subject, $message ); }
Vini re se ku është përdorur funksioni add_action() janë specifikuar dy parametra shtesë. Parametri i tretë është prioriteti, i cili dikton kur të ekzekutohet veprimi. Ju mund të dëshironi të shtoni funksione të shumta në të njëjtin hook dhe vetë WordPress mund ta përdorë atë në mënyrë interne. Sa më i lartë të jetë prioriteti, aq më vonë kryhet veprimi.
Parametri i katërt tregon se sa argumente u kalohen funksioneve tuaja. Kjo është diçka që duhet ta kërkoni/hulumtoni pasi nuk është i qartë nga emri i veprimit. Ju ose mund të shikoni dokumentacionin e WordPress, ose të shikoni kodin burimor të WordPress për të parë se ku është përcaktuar – e para është padyshim më e lehtë nëse sapo po filloni.
Brenda funksionit përdor atributet e postimit për të marrë adresën e emailit të autorit dhe titullin dhe lidhjen me postimin. Ne implementojmë një mesazh të shkurtër dhe përdor funksionin e integruar të email wp_mail() të WordPress për të dërguar një email të shpejtë.
Përsëri, si e dija se ekzistonte kjo? Google! Ndërsa është plotësisht e mundur të shkruani funksionin tuaj të email, një kërkim i shpejtë për “WordPress mail” do ta zbulojë këtë funksion në një moment.
Puna me filtrat
E përmendëm më herët se filtrat janë të ngjashëm me hools, por ato ju lejojnë të modifikoni të dhënat përpara se të përdoren në vend që të zbatoni një veprim shtesë. Për këtë shembull, le të ndryshojmë mesazhin e gabimit që merrni në formularin e kyçjes kur shkruani një fjalëkalim të pasaktë në www.example.com/wp-admin
Meqenëse ka një mesazh gabimi pavarësisht nga shtojca jonë – ne thjesht duam ta modifikojmë atë – ka shumë mundësi që po shohim një filtër. Ekziston me të vërtetë një filtër i quajtur “login_errors”, kështu që le ta përdorim atë dhe të modifikojmë mesazhin:
add_filter('login_errors','login_error_message');
function login_error_message( $error ){
$error = "Incorrect login information, stay out!";
return $error;
}
Parametri i parë i çdo funksioni që shtoni në një filtër do të jenë gjithmonë të dhënat e filtruara. Nëse e ktheni këtë pa e modifikuar, do të përfundoni me funksionalitetin origjinal. Në rastin tonë, le të tregojmë gjithmonë të njëjtin mesazh gabimi. Kjo mund të jetë e dobishme nëse dëshironi të fshehni root-ën e gabimit. Nëse vendosni një emër përdoruesi të saktë, por fjalëkalim të pasaktë, WordPress ju tregon në të vërtetë këtë, duke u dhënë hakerëve informacion. Duke pasur një mesazh të vetëm gabimi, ky informacion fshihet.
Filtrat dhe veprimet përdoren gjerësisht për pothuajse çdo gjë në shtojca, prandaj ju bëjmë thirrje t’i hidhni një sy në thellësi dhe të njiheni me mekanizmin e tyre. Mund të mësoni më shumë në WordPress Codex.
Shtimi i Skripteve dhe Stileve
Shanset janë që në një moment do të dëshironi të shtoni stilin tuaj ose funksionalitetin JavaScript. Kjo mund të bëhet duke vendosur në radhë asetin në fjalë. Rreshtimi përdor veprime për të shtuar skriptet dhe stilet në mënyrë modulare, duke u kujdesur për çdo varësi në proces. Le të shtojmë përkrahje për një font Google, i cili në fakt është një stylesheet:
add_action( 'wp_enqueue_scripts', 'my_enqueued_assets' );
function my_enqueued_assets() {
wp_enqueue_style( 'my-font', '//fonts.googleapis.com/css?family=Roboto' );
}
Në të vërtetë wp_enqueue_scripts përdoret për të shtuar skriptet dhe stilet në front-end. Në funksionin hooked përdorim wp_enqueue_style() për të shtuar stilin tonë. Parametri i parë është slug (kjo varet nga ju), dhe parametri i dytë është URL-ja e skriptit.
Përdorimi i //url.com në vend të http://url.com është një truk që lejon shfletuesit të kapin versionin e duhur të skriptit. Nëse lidhja juaj përdor https, ajo do të marrë versionin HTTPS, përndryshe do të përdorë versionin e rregullt HTTP.
Sigurisht, mund të ngarkoni asetet që keni krijuar dhe t’i ruani brenda shtojcës suaj. Le të ngarkojmë një skript të personalizuar që kemi bërë duke përdorur metodën e radhës:
add_action( 'wp_enqueue_scripts', 'my_enqueued_assets' );
function my_enqueued_assets() {
wp_enqueue_script( 'my-script', plugin_dir_url( __FILE__ ) . '/js/my-script.js', array( 'jquery' ), '1.0', true );
}
Procesi është pothuajse i njëjtë, ne kemi përdorur më shumë parametra në funksionin wp_enqueue_script(). Parametri i tretë përcakton varësitë e skriptit. WordPress sigurohet që të ngarkojë siç duhet të gjitha varësitë, kështu që edhe nëse vendosni një varësi më vonë, ato do të ngarkohen siç duhet. Parametri i katërt është një numër versioni që mund ta zgjidhni vetë. Këta parametra shtesë janë të disponueshëm edhe për funksionin wp_enqueue_style().
Parametri i pestë, kur vendoset në true, udhëzon WordPress të ngarkojë një skrip në footer në vend të header. Kjo preferohet nëse skriptet tuaja nuk nevojiten në header në mënyrë specifike pasi zvogëlon kohën e ngarkimit dhe optimizon JavaScript.
Krijimi i faqes së cilësimeve (setting) të shtojcave
Shumë shtojca kërkojnë disa opsione që përdoruesi mund të vendosë. Ndoshta dëshironi të çaktivizoni tagjet e grafikut të hapur të Facebook në disa postime, apo edhe të çaktivizoni emailin e autorit kur publikoni postimet që keni shkruar? Të dyja këto mund të zbatohen duke përdorur opsione.
Ka një sërë mënyrash për të krijuar opsione për veten tuaj, duke përfshirë disa korniza opsionesh. Për opsione të thjeshta është më e lehtë ta bëjmë vetë, dhe ne jemi këtu për të mësuar, kështu që le të fillojmë.
Metoda më e mirë për t’u përdorur është një qasja object oriented, por ne do të përdorim një qasje më të thjeshtë këtu. Hidhini një sy Creating Options në WordPress Codex për qasjet më të thjeshta dhe ato të orientuara në objekte.
Gjëja e parë që do të bëjmë është të krijojmë një menu entry në back-end ku mund të vendosim ndërfaqen e përdoruesit të cilësimeve:
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_menu_page('My Plugin Settings', 'Plugin Settings', 'administrator', 'my-plugin-settings', 'my_plugin_settings_page', 'dashicons-admin-generic');
}
function my_plugin_settings_page() {
//
}
Vini re se ne po përdorim një veprim (ang. action) për ta bërë këtë. Sa herë që WordPress sheh hook të admin_menu ai ekzekuton të gjitha funksionet e lidhura me të. Na ndodhi që t’i shtojmë vetë një funksion, kështu që do ta marrë parasysh këtë kur ndërton menunë.
Ne përdorim add_menu_page() për të krijuar një menu entry të nivelit të lartë. Ky funksion merr një numër argumentesh:
- Page title – përdoret në tagun e titullit të faqes (treguar në shiritin e shfletuesit) kur shfaqet.
- Menu title – përdoret në menynë në të majtë.
- Capability – niveli i përdoruesit që lejohet të hyjë në faqe.
- Menu slug – slug i përdorur për faqen në URL.
- Function – emri i funksionit që do të përdorni për të nxjerrë përmbajtjen e faqes.
- Icon – Një url në një imazh ose një Dashicons string.
- Position – Pozicioni i artikullit tuaj brenda të gjithë menysë.
Ne kemi krijuar funksionin bosh my_plugin_settings_page() (do të vini re se e shtuam këtë si parametrin e pestë). Do të shtojmë gjithashtu përmbajtjen e këtij funksioni në vetëm një moment. Në këtë fazë ju duhet të jeni në gjendje të shihni hyrjen e re të menysë në fund të menysë.
Përpara se të krijojmë ndërfaqen e përdoruesit për manipulimin e cilësimeve, le t’i bëjmë të ditur WordPress se cilat cilësime synojmë të përdorim. Kjo quhet regjistrimi i cilësimeve tona. Për këtë shembull, le të supozojmë se duam të krijojmë një vend për të ruajtur informacionin e kontaktit të disa punonjësve kryesorë që nuk janë pjesë e web projektit tonë, për shembull kontabilistit tonë.
add_action( 'admin_init', 'my_plugin_settings' );
function my_plugin_settings() {
register_setting( 'my-plugin-settings-group', 'accountant_name' );
register_setting( 'my-plugin-settings-group', 'accountant_phone' );
register_setting( 'my-plugin-settings-group', 'accountant_email' );
}
Siç mund ta shihni, ne kemi lidhur një funksion në admin_init, brenda të cilit përdor register_setting() për të shtuar opsionet tona. Parametri i parë duhet të jetë një grup opsionesh, i dyti opsioni aktual. Ne rekomandojmë përdorimin e të njëjtit grup opsionesh nëse keni vetëm disa opsione.
Pra, si dinim që duhet të përdorim admin_init këtu? WordPress Codex sigurisht! Në disa raste, hook që duhet të përdorni është i dukshëm. Në raste të tjera do t’ju duhet ta kërkoni. Në disa raste mund të përdorni hook të ndryshëm duke ruajtur funksionalitetin. Në këto raste zakonisht ekziston një mënyrë e rekomanduar për të bërë gjërat. Gjithmonë kërkoni në WordPress Codex përpara se të implementoni një hook dhe do të jeni mirë.
Pra, tani që kemi hyrjen në menunë tonë të administratorit dhe kemi regjistruar cilësimet tona, le të krijojmë një formular për të shfaqur ndërfaqen e përdoruesit. Ngjitni kodin më poshtë brenda funksionit bosh my_plugin_settings_page():
<div class="wrap">
<h2>Staff Details</h2>
<form method="post" action="options.php">
<?php settings_fields( 'my-plugin-settings-group' ); ?>
<?php do_settings_sections( 'my-plugin-settings-group' ); ?>
<table class="form-table">
<tr valign="top">
<th scope="row">Accountant Name</th>
<td><input type="text" name="accountant_name" value="<?php echo esc_attr( get_option('accountant_name') ); ?>" /></td>
</tr>
<tr valign="top">
<th scope="row">Accountant Phone Number</th>
<td><input type="text" name="accountant_phone" value="<?php echo esc_attr( get_option('accountant_phone') ); ?>" /></td>
</tr>
<tr valign="top">
<th scope="row">Accountant Email</th>
<td><input type="text" name="accountant_email" value="<?php echo esc_attr( get_option('accountant_email') ); ?>" /></td>
</tr>
</table>
<?php submit_button(); ?>
</form>
</div>
Ka tre gjëra që duhen mbajtur parasysh kur ndërtoni një formë si kjo:
Përdorni funksionin settings_fields(), duke shtuar hook të opsioneve si parametër të parë. Kjo nxjerr disa fusha të fshehura që WordPress do të përdorë për të ruajtur të dhënat tuaja.
Përdorni emrat e opsioneve që keni përcaktuar gjatë regjistrimit të tyre në parametrin e emrit të hyrjeve.
Merrni vlerën e një fushe duke përdorur funksionin get_option(), duke ia kaluar emrin e opsionit si parametër të parë.
Me këtë, ju keni mbaruar të gjithën! WordPress kujdeset për të ruajtur gjithçka pasi jeni duke përdorur API-në e integruar të opsioneve.
Hostinkos
https://hostinkos.com/aboutHostinkos ndihmon bizneset dhe organizatat e të gjitha formave dhe madhësive të ndërtojnë, hostojnë dhe menaxhojnë faqet e tyre të internetit.