વર્ડપ્રેસ એક્શન હુક્સ


વર્ણન

વર્ડપ્રેસ હુક્સ સિસ્ટમ એ છે જે વર્ડપ્રેસને આટલું એક્સટેન્ડેબલ બનાવે છે અને તમને વર્ડપ્રેસના પાયા પર, બ્લોગથી ઓનલાઈન ઈકોમર્સ પ્લેટફોર્મ સુધી કંઈપણ બનાવવાની મંજૂરી આપે છે.

આ પાઠમાં, તમે એક્શન હૂક વિશે શીખી શકશો, તેઓ કેવી રીતે કાર્ય કરે છે, યોગ્ય હૂક કેવી રીતે પસંદ કરવો અને તમારા કોડમાં તેનો ઉપયોગ કેવી રીતે કરવો.

ઉદ્દેશ્યો

આ પાઠ પૂર્ણ કર્યા પછી, સહભાગીઓ સક્ષમ હશે:

  • વર્ડપ્રેસ હુક્સ શું છે તે સમજો
  • ઉપલબ્ધ બે પ્રકારના હુક્સ વચ્ચે તફાવત કરો
  • અમુક કાર્ય કરવા માટે એક્શન હૂક કોલબેક ફંક્શનની નોંધણી કરો
  • સમાયોજિત અગ્રતા સાથે એક્શન હૂક કૉલબેકની નોંધણી કરો
  • ઉપલબ્ધ પરિમાણોની સ્પષ્ટ સંખ્યા સાથે ક્રિયા હૂક કૉલબેકની નોંધણી કરો
  • ક્રિયા હુક્સ પર વધુ માહિતી ક્યાંથી મેળવવી તે જાણો

પૂર્વજરૂરીયાતો કૌશલ્યો

સહભાગીઓ આ પાઠમાંથી સૌથી વધુ મેળવશે જો તેઓ આનાથી પરિચિત હોય:

  • PHP પ્રોગ્રામિંગ ભાષા સાથે થોડો અનુભવ
  • ક્રિયા હૂક કૉલબેક્સ રજીસ્ટર કરવાની રીત, કાં તો ચાઈલ્ડ થીમ અથવા પ્લગઇન

તૈયારી પ્રશ્નો

  • શું તમારી પાસે PHP પ્રોગ્રામિંગ ભાષા (ચલો, કાર્યો, વગેરે) નું મૂળભૂત જ્ઞાન છે?
  • શું તમારી પાસે ચાઈલ્ડ થીમ કે પ્લગઈન બનાવવાની કોઈ રીત છે?

સ્લાઇડ્સ

જરૂરી સામગ્રી

  • વર્ડપ્રેસનું સ્થાનિક ઇન્સ્ટોલ
  • કાર્ય કરવા માટે ચાઈલ્ડ થીમ અથવા પ્લગઇન
  • ટેક્સ્ટ અથવા કોડ એડિટર

પ્રસ્તુતકર્તા માટે નોંધો

  • સહભાગીઓએ સ્થાનિક વર્ડપ્રેસ ઇન્સ્ટોલ સેટ કરવાની જરૂર પડશે.
  • સહભાગીઓને કોડ ઇન કરવા માટે બાળ થીમ અથવા પ્લગઇનની જરૂર પડશે.
  • સહભાગીઓને ટેક્સ્ટ અથવા કોડ એડિટરની જરૂર પડશે.
    • VS કોડ એક સારો વિકલ્પ છે

પાઠની રૂપરેખા

  • વર્ડપ્રેસ હુક્સ સિસ્ટમનો પરિચય આપો
  • વિવિધ હૂક પ્રકારો, ક્રિયાઓ અને ફિલ્ટર્સ સમજાવો
  • after_setup_theme હૂક અને add_action ફંક્શનનો ઉપયોગ કરીને પોસ્ટ ફોર્મેટને સક્ષમ કરીને એક્શન હૂક કૉલબેક ફંક્શન કેવી રીતે રજીસ્ટર કરવું તે દર્શાવો
  • હૂક પ્રાયોરિટી કેવી રીતે કામ કરે છે તે સમજાવો અને after_setup_theme કૉલબેક રજીસ્ટ્રેશન પર આના વિવિધ ઉદાહરણો બતાવો.
  • સમજાવો કે હૂકમાં કૉલબેક ફંક્શનમાં બહુવિધ દલીલો પસાર થઈ શકે છે.
  • સેવ_પોસ્ટ એક્શન હૂકનો ઉપયોગ કરીને, દર્શાવો કે કોલબેક ફંક્શનમાં એક અથવા ત્રણેય દલીલોનો ઉપયોગ કેવી રીતે કરવો શક્ય છે.

કસરતો

ચાઇલ્ડ થીમમાં પસંદ કરેલ પોસ્ટ ફોર્મેટની નોંધણી કરો

  • સહભાગીઓને ચાઇલ્ડ થીમ બનાવવા માટે કહો અને ચાઇલ્ડ થીમમાં તેમના પસંદ કરેલા પોસ્ટ ફોર્મેટની નોંધણી કરો
  • એક વાર પોસ્ટ સેવ થઈ જાય પછી પ્રતિભાગીઓને પોસ્ટ પર કેટલાક મેટાડેટા સાચવવા માટે કહો. આ ઉપરોક્ત ચાઇલ્ડ થીમ અથવા અલગ પ્લગઇનમાં કરી શકાય છે
  • ઉપરોક્ત મેટાડેટાને સાચવતું કૉલબેક ફંક્શન ક્યારે ચલાવવામાં આવે છે તેની પ્રાથમિકતાને સમાયોજિત કરવા સહભાગીઓને કહો.

આકારણી

વર્ડપ્રેસ હુક્સ શું છે?

  1. પોસ્ટ અથવા પૃષ્ઠ સાચવતી વખતે મેટાડેટાને આપમેળે સાચવવાની રીત
  2. સુનિશ્ચિત સમયે ક્રિયાને ટ્રિગર કરવાની રીત
  3. વિશિષ્ટ, પૂર્વ-નિર્ધારિત સ્થળો પર વર્ડપ્રેસ વિનંતીને ક્રિયાપ્રતિક્રિયા/સંશોધિત કરવાની રીત.
  4. WordPress માં ભૂલો પકડવાની રીત

જવાબ: 3.વિશિષ્ટ, પૂર્વ-નિર્ધારિત સ્થળો પર વર્ડપ્રેસ વિનંતીને ક્રિયાપ્રતિક્રિયા/સંશોધિત કરવાની રીત.

કયો હૂક પ્રકાર તમને ડેટાને સંશોધિત કરવાની મંજૂરી આપે છે?

  1. ક્રિયા
  2. ફિલ્ટર કરો

જવાબ: 2. ફિલ્ટર કરો

add_action ફંક્શનમાંના કયા પરિમાણો તમને હૂક કૉલબેક પ્રાયોરિટી બદલવાની મંજૂરી આપે છે?

  1. $hook_name 
  2. $callback
  3. $priority
  4. $accepted_args

જવાબ: 3. $priority

add_action ફંક્શનમાંના કયા પરિમાણો તમને હૂક કૉલબેક સ્વીકારે છે તે દલીલોની સંખ્યાને વ્યાખ્યાયિત કરવાની મંજૂરી આપે છે?

  1. $hook_name 
  2. $callback
  3. $priority
  4. $accepted_args

જવાબ: 4. $accepted_args

વધારાના સંસાધનો

ઉદાહરણ પાઠ

આજે આપણે એક્શન હુક્સ નામના વર્ડપ્રેસ ડેવલપમેન્ટ કોન્સેપ્ટ વિશે જાણવા જઈ રહ્યા છીએ.

પરિચય

હુક્સ તમારી થીમ અથવા પ્લગઇન કોડને ચોક્કસ, પૂર્વવ્યાખ્યાયિત સ્થળો પર વર્ડપ્રેસ વિનંતીના અમલ સાથે ક્રિયાપ્રતિક્રિયા કરવા અથવા તેમાં ફેરફાર કરવાની મંજૂરી આપે છે. હુક્સ એ છે જે વર્ડપ્રેસને ખૂબ વિસ્તૃત બનાવે છે, અને તમને WordPress ના પાયા પર, બ્લોગથી ઑનલાઇન ઈકોમર્સ પ્લેટફોર્મ સુધી કંઈપણ બનાવવાની મંજૂરી આપે છે.

બે પ્રકારના હુક્સ, એક્શન હુક્સ અને ફિલ્ટર હુક્સ છે. આ વધુ સામાન્ય રીતે ક્રિયાઓ અને ફિલ્ટર્સ તરીકે ઓળખાય છે. આ ટ્યુટોરીયલમાં, અમે ક્રિયાઓ પર ધ્યાન કેન્દ્રિત કરીશું, પરંતુ ફિલ્ટર હુક્સ પર વધુ માહિતી માટે ફિલ્ટર ટ્યુટોરીયલ તપાસો.

તેમનું નામ જણાવે છે તેમ, ક્રિયાઓ તમને ચોક્કસ બિંદુ પર કેટલીક ક્રિયાઓ કરવા દે છે. આને વધુ સારી રીતે સમજાવવા માટે, ચાલો એક ઉદાહરણ જોઈએ. 

જો તમે વર્ડપ્રેસ થીમ્સ વિકસિત કરો તો તમારે પૂર્ણ કરવાની એક સામાન્ય પ્રવૃત્તિ એ નક્કી કરવી છે કે કયા પોસ્ટ ફોર્મેટ્સને સમર્થન આપવું અને પછી તમારી થીમમાં તેમના માટે સમર્થન સક્ષમ કરવું. 

આ કરવા માટે, દસ્તાવેજીકરણ સૂચવે છે કે તમારે add_theme_support ફંક્શનનો ઉપયોગ કરવાની જરૂર છે, અને ભલામણ કરે છે કે આ after_setup_theme ક્રિયા હૂક દ્વારા નોંધાયેલ છે. 

ચાલો વર્ડપ્રેસ કોડના બિંદુ પર જઈએ જ્યાં આ હૂકને પ્રથમ વ્યાખ્યાયિત કરવામાં આવે છે, જે હાલમાં wp-settings.php ફાઇલની લાઇન 576 પર છે.

do_action( 'after_setup_theme' );

અહીં do_action ફંક્શન એક્શન હૂકને વ્યાખ્યાયિત કરે છે, હૂક નામ after_setup_theme સાથે

અમે દસ્તાવેજીકરણમાં, આ હૂક વિશે વધુ વાંચી શકીએ છીએ.

અહીં આપણે જોઈએ છીએ કે આ હૂક દરેક પેજ લોડ દરમિયાન, થીમ શરૂ થયા પછી ફાયર કરવામાં આવે છે, અને તેનો ઉપયોગ થીમ માટે મૂળભૂત સેટઅપ, નોંધણી અને પ્રારંભ ક્રિયાઓ કરવા માટે થાય છે.

ક્રિયાનો ઉપયોગ કરવા માટે, તમે તમારા કોડમાં ફંક્શનને પહેલાથી અસ્તિત્વમાં રહેલા એક્શન હૂક પર રજીસ્ટર કરો છો, જે કૉલબેક ફંક્શન તરીકે ઓળખાય છે.

તમારા કૉલબેક ફંક્શનને એક્શન પર રજીસ્ટર કરવા માટે તમે WordPress add_action ફંક્શનનો ઉપયોગ કરો છો. 

તમારે add_action ફંક્શનમાં દલીલો તરીકે હૂક નામ અને તમારા કૉલબેક ફંક્શનનું નામ પાસ કરવાની જરૂર પડશે. 

ચાઇલ્ડ થીમની functions.php ફાઇલમાં આ કેવું દેખાય છે તેના પર એક નજર કરીએ.

add_action( 'after_setup_theme', 'wp_learn_setup_theme' );

આગળ, કૉલબેક ફંક્શન બનાવો અને તમારા પસંદ કરેલા પોસ્ટ ફોર્મેટ માટે સપોર્ટ ઉમેરો.

add_action( 'after_setup_theme', 'wp_learn_setup_theme' );
function wp_learn_setup_theme() {
    add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
}

તમે કૉલબૅક ફંક્શનને તમે ઇચ્છો તે કંઈપણ નામ આપી શકો છો, પરંતુ તેને અનન્ય ઉપસર્ગ સાથે બનાવવું હંમેશા સારો વિચાર છે.

જો તમે હવે તમારા વર્ડપ્રેસ ડેશબોર્ડમાં નવી પોસ્ટ બનાવો છો, તો તમે બ્લોક એડિટરમાં પોસ્ટ ફોર્મેટ્સ સિલેક્ટ બોક્સ દેખાશે, અને તમે જરૂરી પોસ્ટ ફોર્મેટ પસંદ કરી શકો છો. અહીં તમે તમારા કૉલબેક ફંક્શનમાં સક્ષમ કરેલ બે પોસ્ટ ફોર્મેટ જોઈ શકો છો.

જેમ તમે કોઈ ક્રિયાની નોંધણી કરવાથી જોઈ શકો છો, તમે કંઈક કરવા માટે ક્રિયાઓનો ઉપયોગ કરો છો, કાં તો પહેલેથી અસ્તિત્વમાં છે તે સુવિધાને સક્ષમ કરીને અથવા કોડ એક્ઝેક્યુશનમાં કંઈક ઉમેરીને.

હૂક પ્રાધાન્યતા

ચાલો હૂકની પ્રાથમિકતા જોઈએ.

જો તમે add_action માટેના દસ્તાવેજીકરણ પર એક નજર નાખશો તો તમને હૂક નામ અને કૉલબેક ફંક્શન પછી બે વધારાના ફંક્શન પરિમાણો દેખાશે. ત્રીજું પરિમાણ એ હૂક પ્રાયોરિટી છે, જે એક પૂર્ણાંક છે જે ડિફોલ્ટ 10 છે. આનો અર્થ એ છે કે જો તમે તમારા કોડમાં કોઈ અગ્રતા નિર્દિષ્ટ કર્યા વિના કોઈ ક્રિયા રજીસ્ટર કરો છો, તો તે 10 ની પ્રાથમિકતા સાથે નોંધવામાં આવશે.

હૂક પ્રાધાન્યતા તમને વર્ડપ્રેસ કોર અથવા અન્ય થીમ્સ અથવા પ્લગઇન્સ દ્વારા, આપેલ હૂક પર રજીસ્ટર થઈ શકે તેવા કોઈપણ અન્ય હૂક કૉલબૅક્સની તુલનામાં, તમારું હૂક કૉલબેક ચલાવવામાં આવે છે તે ક્રમ નક્કી કરવાની મંજૂરી આપે છે.

હુક્સ પ્રાધાન્યતાના સંખ્યાત્મક ક્રમમાં ચાલે છે, 1 થી શરૂ થાય છે. સામાન્ય રીતે પ્રાથમિકતા 10 ના ડિફોલ્ટ પર છોડી દેવી સલામત છે સિવાય કે તમે તમારા કૉલબેક કાર્યને જે ક્રમમાં ચલાવવામાં આવે તે ક્રમમાં ફેરફાર કરવા માંગતા હો. ઉદાહરણ તરીકે, અમારા after_setup_theme ક્રિયાના ઉદાહરણમાં, તમે ખાતરી કરવા માગી શકો છો કે વર્ડપ્રેસ કોર દ્વારા નોંધાયેલ કોઈપણ કૉલબૅક્સ ચલાવવામાં આવે તે પછી જ નોંધાયેલ કૉલબૅક ફંક્શન ચાલે છે. કારણ કે વર્ડપ્રેસ કોર 10 ની ડિફૉલ્ટ અગ્રતા સાથે કોઈપણ હૂક કૉલબૅક્સની નોંધણી કરે છે, જો તમે 11 ની પ્રાથમિકતાનો ઉલ્લેખ કરો છો, તો તમે ખાતરી કરી શકો છો કે કોઈપણ કોર કૉલબૅક્સ પૂર્ણ થયા પછી મારું કૉલબૅક કાર્ય ચાલે છે.

add_action( 'after_setup_theme', 'wp_learn_setup_theme', 11 );

વૈકલ્પિક રીતે, જો તમે ખાતરી કરવા માંગતા હો કે કૉલબેક વર્ડપ્રેસ કોર પહેલા ચાલે છે, તો તમે નીચી અગ્રતા સેટ કરશો, કહો કે 9.

add_action( 'after_setup_theme', 'wp_learn_setup_theme', 9 );

ઘણીવાર તમે જોઈ શકો છો કે કૉલબૅક્સ ઉચ્ચ અગ્રતા સાથે નોંધાયેલ છે, જેમ કે 99 અથવા 9999.

add_action( 'after_setup_theme', 'wp_learn_setup_theme', 9999 );

આ એટલા માટે છે કારણ કે પ્લગઇન અથવા થીમ ડેવલપર ખાતરી કરવા માંગે છે કે આ કૉલબૅક અન્ય તમામ કૉલબૅક કાર્યો પછી ચલાવવામાં આવે છે. જો કે, અન્ય તૃતીય-પક્ષ પ્લગિન્સ અથવા થીમ્સ તેમના કૉલબૅક્સને કઈ પ્રાથમિકતા પર રજીસ્ટર કરી શકે છે તે ક્યારેય જાણી શકાતું નથી..

હૂક પરિમાણો

add_action ફંક્શનમાં ચોથું પરિમાણ એ સ્વીકૃત દલીલોની સંખ્યા છે જેને કૉલબેક ફંક્શન સ્વીકારી શકે છે.

આ કેવી રીતે કાર્ય કરે છે તે વધુ સારી રીતે સમજવા માટે, ચાલો save_post એક્શન હૂક પર એક નજર કરીએ. આ હૂક wp_insert_post ફંક્શનમાં વ્યાખ્યાયિત થયેલ છે, જે એડમિન ફંક્શન છે જે ક્યાં તો વર્ડપ્રેસ પોસ્ટ અથવા પેજ ઉમેરે છે અથવા અપડેટ કરે છે.

આ ફંક્શનના તળિયે, આપણે નીચેના કોડનો ભાગ જોઈ શકીએ છીએ:

do_action( 'save_post', $post_ID, $post, $update );

અહીં, do_action ફંક્શન એક્શન હૂકને ત્રણ ચલો સાથે રજીસ્ટર કરે છે જે ક્રિયા સાથે સંકળાયેલા છે, $post_id, $post ઑબ્જેક્ટ અને $update બુલિયન.

do_action નો ઉપયોગ કરીને એક્શન હૂકને વ્યાખ્યાયિત કરતી વખતે, કોઈપણ સંખ્યામાં સંભવિત દલીલો ઉમેરી શકાય છે. જો કે, સ્વીકૃત દલીલો પેરામીટરને પસાર કરવામાં આવેલ નંબર નક્કી કરે છે કે તેમાંથી કેટલા હૂક કૉલબેક ફંક્શનમાં પાસ થયા છે.

જો તમે add_action માટેના દસ્તાવેજો જોશો તો તમને સ્વીકૃત દલીલોની સંખ્યા માટે ડિફોલ્ટ મૂલ્ય 1 દેખાશે, જેનો અર્થ છે કે જો તમે આ પરિમાણ માટે કોઈ મૂલ્ય નિર્દિષ્ટ કરશો નહીં, તો પ્રથમ દલીલ કૉલબેકમાં પસાર કરવા માટે ઉપલબ્ધ રહેશે.

કાર્ય save_post ક્રિયામાં, સ્વીકારવા માટે ત્રણ સંભવિત ચલો છે. જો તમે દલીલોની સંખ્યા સેટ કર્યા વિના કૉલબેકની નોંધણી કરો છો, તો કૉલબેક ફંક્શનમાં ફક્ત પ્રથમ જ ઉપલબ્ધ હશે, આ કિસ્સામાં, $post_id.

add_action( 'save_post', 'wp_learn_amend_post_meta', 10 );
function wp_learn_amend_post_meta( $post_ID ){

}

વધુ ઉપલબ્ધ દલીલો સ્વીકારવા માટે, તમારે સ્વીકારવા માટેની દલીલોની સંખ્યા સ્પષ્ટ કરવાની જરૂર છે.

add_action( 'save_post', 'wp_learn_amend_post_meta', 10, 3 );
function wp_learn_amend_post_meta( $post_ID, $post, $update ){

}

પછી તમે તમારા કૉલબેક કાર્યમાં તે દલીલોનો ઉપયોગ કરી શકો છો

તમારા કૉલબેક કાર્ય માટે તમારે કઈ દલીલોની જરૂર છે તે નિર્ધારિત કરવામાં સક્ષમ બનવું અને હૂક નોંધણીમાં નંબર સેટ કરવો એ એક મૂલ્યવાન કૌશલ્ય છે. ઉદાહરણ તરીકે, ચાલો કહીએ કે તમે update_post_meta ફંક્શનનો ઉપયોગ કરીને પોસ્ટ પર મેટાડેટાના ભાગ તરીકે પોસ્ટ સાચવવામાં આવી હતી તે તારીખ સાચવવા માગતા હતા, તમારે ફક્ત $post_ID ની જરૂર પડી શકે છે.

add_action( 'save_post', 'wp_learn_amend_post_meta' );
function wp_learn_amend_post_meta( $post_ID ) {
    update_post_meta( $post_ID, 'post_saved', date( 'Y-m-d H:i:s' ) );
}

જો કે, જો પોસ્ટ અપડેટ થાય ત્યારે જ તમે આ કરવા માંગતા હોવ તો શું? આ કિસ્સામાં, હૂકમાં $update વેરીએબલ હોય છે, જે જો આપણે wp_insert_post કોડને જોઈએ તો, જો પોસ્ટ અપડેટ થઈ રહી હોય તો તે સાચું પર સેટ થાય છે. તેથી તમારે તમારા કોડ પર $update ચલનો ઉપયોગ કરવા માટે હૂકમાંથી ત્રણેય દલીલો સ્વીકારવા માટે તમારા કૉલબેકને અપડેટ કરવાની જરૂર પડશે.

add_action( 'save_post', 'wp_learn_amend_post_content', 10, 3 );
function wp_learn_amend_post_content( $post_ID, $post, $update ) {
	if ( true === $update ) {
		update_post_meta( $post_ID, 'post_updated', date( 'Y-m-d H:i:s' ) );
	}
}

તમે જોશો કે હું કૉલબેકમાં પસાર થતી દલીલો માટે સમાન ચલ નામોનો ઉપયોગ કરી રહ્યો છું, આ કિસ્સામાં, $post_ID, $post અને $update. આ કોઈ આવશ્યકતા નથી, અને જ્યારે તમે તમારા કૉલબેક ફંક્શનને રજીસ્ટર કરો ત્યારે તમે તેમને ગમે તે રીતે કૉલ કરી શકો છો, પરંતુ જો તમે તેમને સમાન નામ આપો તો દરેક વેરીએબલ શેના માટે છે તે યાદ રાખવું સરળ બનાવે છે.

હૂક ઓર્ડરતમારી ચોક્કસ જરૂરિયાતો પર આધાર રાખીને, તમારે પહેલા તે નક્કી કરવાની જરૂર પડી શકે છે કે કઈ ક્રિયાનો ઉપયોગ કરવો યોગ્ય છે. સદનસીબે, વર્ડપ્રેસ કોડેક્સ પાસે એક્શન રેફરન્સ છે, જે વર્ડપ્રેસમાં ઉપલબ્ધ એક્શન હુક્સની યાદી છે અને તે ક્રમમાં વર્ડપ્રેસ સાઇટ પર વિવિધ વિનંતીઓ દરમિયાન ચલાવવામાં આવે છે. તમે હુક્સ હેઠળ, વિકાસકર્તા સંસાધન કોડ સંદર્ભમાં ઉપલબ્ધ હુક્સની સંપૂર્ણ સૂચિ પણ શોધી શકો છો.

લેસન સમેટો

ઉપર દર્શાવેલ કસરતો અને મૂલ્યાંકન સાથે અનુસરો.