சோம்பேறி சுமை படங்கள் - WordPress க்கான சோம்பேறி சுமை செருகுநிரல்கள். PHP பயன்பாட்டிற்கான செருகுநிரல்களை இயக்குவதற்கான சிறந்த வழி மந்தமான php செருகுநிரல்

  • 20.06.2020

தளத்தின் செயல்பாட்டை விரிவுபடுத்துவதில் செயல்பாட்டுக் கோப்பு ஒரு பொழுதுபோக்கு உதவியாளர்! குறிப்பாக அதன் நோக்கத்திற்காக பயன்படுத்தினால் - இருப்பினும், பல வலைப்பதிவு / தள உரிமையாளர்கள் functions.php ஐ ஒரு hodgepodge ஆக மாற்றுவதில் அற்புதமானவர்கள்.

எந்தவொரு வணிகத்திலும், செயல்திறன் மற்றும் கட்டுப்பாடுகள் (கட்டுப்பாடுகள், பெரும்பாலும் தர்க்கரீதியானவை) உள்ளன, எனவே WP மையத்தின் (கருப்பொருள்கள் அல்ல) அளவுருக்களை சரிசெய்ய வடிவமைக்கப்பட்ட சில இயங்கக்கூடிய குறியீடு, டெம்ப்ளேட்டிலிருந்து வெளியே எடுப்பது மிகவும் சரியானது ...

உரையாடல் தளத்தின் செயல்பாட்டை நவீனமயமாக்கும் போது, ​​கட்டுரைகளின் வரிசையில் "செருகுநிரல்கள் இல்லாமல் ..." அது நிச்சயமாக அனைத்து குறியீடு தொகுதிகளையும் பழம்பெரும் functions.php க்குள் தள்ள அறிவுறுத்தப்படுகிறது. அது சரியில்லை!

அனைத்து தொழில்நுட்ப நீட்டிப்புகளையும் (டெம்ப்ளேட் பாணியுடன் நேரடியாக தொடர்புபடுத்தவில்லை) அவற்றின் பதிவுக்காக ஒழுங்கமைக்கப்பட்ட செருகுநிரலுக்கு மாற்றுவது மிகவும் தர்க்கரீதியானது.

அதை உருவாக்குவோம்! மேலும் நன்மைகள் மற்றும் தீமைகள் பற்றி பேசுங்கள் (அவற்றில் மிகக் குறைவு) ...


கட்டுரையின் பகுதிகள்:

உங்கள் செருகுநிரலை எவ்வாறு உருவாக்குவது

கீழே உள்ள உரையிலிருந்து, உங்கள் சொந்த கைகளால் உங்கள் சொந்த செருகுநிரலை எவ்வாறு உருவாக்குவது என்பதை நாங்கள் கற்றுக்கொள்வோம்: அனைத்து விவரங்களையும் நுணுக்கங்களையும் நாங்கள் புரிந்துகொள்வோம். நன்மைகள் மற்றும் தீமைகள் என்ன என்பதைக் கண்டுபிடிப்போம் (குறைவான தீமைகள் உள்ளன !! மாறாக, இவை தீமைகள் அல்ல, ஆனால் ஒவ்வொரு நிர்வாகிக்கும் ஒன்று அல்லது மற்றொரு தேவை)

functions.php கோப்புக்கும் சொருகிக்கும் என்ன வித்தியாசம்

தளத்தின் செயல்பாட்டுடன் நேரடியாக தொடர்புடைய சில குறியீடுகள் ஏன் தனி செருகுநிரலுக்கு மாற்றப்பட வேண்டும்?

செயல்பாட்டுக் கோப்பு, அதன் நோக்கம் மற்றும் நிலைத்தன்மை ஒரு செருகுநிரலில் இருந்து வேறுபட்டதல்ல (வெறுமனே ஒரு கருப்பொருளில் ஒரு செருகுநிரல்))! - அதன் முக்கிய பணி ஒரு குறிப்பிட்ட (செயலில்) டெம்ப்ளேட்டை பயனுள்ள செயல்பாட்டுடன் வளப்படுத்துவதாகும்.

எடுத்துக்காட்டாக, "வழிசெலுத்தல்", தர்க்கரீதியாக, செயலில் உள்ள கருப்பொருளின் பாணிக்கு ஏற்ப பொத்தான் மெனு CSS உடன் வடிவமைக்கப்பட்டுள்ளது - அதை டெம்ப்ளேட்டின் மூலத்தில் விடுவது மிகவும் சரியாக இருக்கும்.

நன்மை என்ன - செயல்பாட்டு கோப்பை தனி கோப்புகளாக அல்லது தனி செருகுநிரலாக பிரிப்பதா?

எடுத்துக்காட்டாக, மிகவும் பொதுவானது - டெம்ப்ளேட்டை மாற்ற முடிவு செய்தீர்களா!? இதன் விளைவாக, அனைத்து செயல்பாட்டு மேம்பாடுகளும் இழக்கப்படும், ஏனெனில் அனைத்து பயனுள்ள குறியீடுகளும் செயல்பாட்டுக் கோப்பில் அமைந்துள்ளன (நான் ஒரு முறை 750KILO போன்ற கோப்பு அளவைப் பார்த்தேன்)

நிச்சயமாக, நீங்கள் செயல்பாடுகளின் ஆவணங்களை ஒரு புதிய தலைப்புக்கு மாற்றலாம், ஆனால் எல்லாவற்றிற்கும் மேலாக, நிறைய பயனுள்ள நேரத்தை எடுக்கும் திருத்தங்கள் இல்லாமல், நீங்கள் அதை செய்ய முடியாது: ஒரு குரங்கு மற்றும் வேலை)

பின்னர்:

தள கோப்புகளை ஏற்றுவதற்கான வரிசை

சுருக்கமாக: எங்கள் எடுத்துக்காட்டில் தளத்தின் முக்கிய கோப்புகளை ஏற்றுவதற்கான வரிசை பின்வருமாறு - தளத்தின் செயலில் உள்ள செருகுநிரல்கள் (செருகுநிரல்கள் கோப்புறையிலிருந்து) மற்றும் அவற்றின் உள்ளடக்கம் சற்று முன்னதாகவே ஏற்றப்படும், அதன்பிறகுதான் உள்ளடக்கத்துடன் கூடிய functions.php கோப்பு செயலாக்கப்பட்டது. இது அனைத்தும் மில்லி விநாடிகளில் உள்ளது, மேலும் பக்க வேகத்தைப் பெறுவதைப் பற்றி தீவிரமாகப் பேசுவது மதிப்புக்குரியது அல்ல.

இருப்பினும், டெவலப்பர்களால் நிறுவப்பட்ட அத்தகைய ஏற்றுதல் வரிசைக்கான காரணங்களில் ஒன்று, செயல்பாட்டுக் கோப்பிற்கு இரண்டாவது இடம் கொடுக்கப்பட்டதாகத் தெரிகிறது (போன்றது மறைமுகமாகஇலகுவான உறுப்பு), செருகுநிரல்களின் பரவலான பயன்பாட்டின் உண்மை, பெரும்பாலும் பாரிய உள்ளடக்கம் ...

யாரோ கூக்குரலிடுவார்கள்: மற்றொரு சொருகி ...? அது கடினம்!

மற்றும் நான் சொல்கிறேன், அது எந்த வேகத்தையும் பாதிக்காது ... மாறாக - மாறாக, நீங்கள் ஒரு தளத்தின் உருவாக்கத்தை சிந்தனையுடன் அணுகினால்.

மேலும், சில குறியீட்டை மாற்றுவதன் நன்மை மற்றொன்றில் தெளிவாக உள்ளது, அதாவது, தளத்தை ஏற்றும் வேகம் செயலில் உள்ள செருகுநிரல்களின் எண்ணிக்கையைப் பொறுத்தது அல்ல, ஆனால் அவற்றின் உள்ளடக்கத்தைப் பொறுத்தது! எனவே, குறிப்பிட்டுள்ளபடி, சிறிது நேரம் கழித்து ஏற்றப்படும் செயல்பாட்டு கோப்பை ஏன் சுருக்கக்கூடாது? மேலும் இது ஒரு முழு அளவிலான பாரிய டெம்ப்ளேட்-நிலை PLUGIN ஆகும்! அப்படியானால், அவருடைய பெரும்பாலான குறியீடுகள் எங்கிருந்து வருகின்றன?

என் கருத்துப்படி, (செயலில், வேலை செய்யும்) டெம்ப்ளேட் அதன் குறிப்பிட்ட அளவுருக்களை மட்டுமே கொண்டிருக்க வேண்டும்.

எண்கணிதத்திற்கான உல்லாசப் பயணம்...

  1. பின்னர் ஏற்றப்பட்டது, கேள்வி என்னவென்றால், முதலில் குறியீடு செயலாக்கம் செய்யப்படும் இடத்திற்கு அதை ஏன் நகர்த்தக்கூடாது, அதன்படி, நிர்வாகியால் குறிப்பிடப்பட்ட WP கோர் அளவுருக்களுக்கான சரிசெய்தல் தளத்தின் தொடர்புடைய கட்டத்தில் வேகமாகப் படிக்கப்பட்டு செயலாக்கப்படும். துவக்கவா?
  2. தளத்தின் செயல்பாட்டின் மோசமான செயல்பாடு மற்றும் தர்க்கரீதியான அமைப்பு.
  3. வசதி, இது முக்கியமற்றது!

கூடுதலாக, அது கூறியது போல், செயல்பாட்டு கோப்பு அதே செருகுநிரல் - மீண்டும் நான் கேட்பேன், நீங்கள் அதில் வரும் அனைத்தையும் ஏன் தள்ளுகிறீர்கள்? மற்றும் தளத்துடன் பணிபுரியும் செயல்பாட்டில், ஒரு பெரிய, படிக்க கடினமாக உள்ள குறியீட்டு ஆவணத்தில் குழப்பமடைகிறது, இது அதன் உள்ளடக்கத்தால் நம்பமுடியாத மற்றும் நியாயமற்றதாக உள்ளது.

இலகுரக செருகுநிரலை உருவாக்குவது, கட்டமைப்பது மற்றும் மறந்துவிடுவது எளிதானது மற்றும் தர்க்கரீதியானது ...

ஒரு வார்த்தையில், ஒவ்வொருவரும் தனக்குத்தானே தீர்மானிக்கிறார்கள்: தனது சொந்த அனுபவத்தைக் கேட்கலாமா, அல்லது ஒரு குறிப்பிட்ட கல்விக் கட்டுரையின் ஆசிரியரின் கருத்தைக் கேட்கலாமா.

வேர்ட்பிரஸ் நூலகங்களில் கற்றல் பின்பற்றப்படுகிறது, ஆனால் கட்டுரை மூலம் அல்ல ... கட்டுரைகளில் இருந்து ஒன்று அல்லது மற்றொரு யோசனையை மட்டுமே பெற முடியும் ...

எப்படியோ சார்)

... ஆர்வமுள்ளவர்களுக்கு:

வேர்ட்பிரஸ் குறியீடுகளில் நீங்கள் கர்னலின் அனைத்து விதிகளையும் (மற்றும், கர்னல் கோப்பகங்களை ஏற்றும் வரிசை)) அற்புதமான முறையில் கற்றுக்கொள்ளலாம்.

... பின்வரும் கட்டுரைகளில் ஒன்றில், இது போன்ற ஒரு தலைப்பு-பீக்கர்! ... மற்றும் பயனுள்ள பக்கங்களுக்கான இணைப்புகள்.


தள புதுப்பிப்புகளுக்கு குழுசேர்வதன் மூலம் -
... அறியாமையால் பிரிதல்..!

கூடுதல் functions.php கோப்பின் செருகுநிரலை எவ்வாறு உருவாக்குவது

கேள்விக்குரிய செருகுநிரல், நிச்சயமாக, ஒரு எளிய தீர்வு, ஆனால் ஆய்வு புதிதாக தொடங்க வேண்டும்!

மேலும், கட்டுரையில் எடுக்கப்பட்ட இலக்குகளை அடைய, சக்திவாய்ந்த செருகுநிரல்கள் தேவையில்லை!

ஹோஸ்ட் கண்ட்ரோல் பேனலுக்கு (அல்லது FTP) சென்று கோப்பு மேலாளரைத் திறக்கவும்.

செருகுநிரல் கோப்புறையைத் திறந்து அதில் மற்றொரு கோப்பகத்தை உருவாக்கவும் (எங்கள் செருகுநிரல் கோப்புகளுக்கான கோப்புறை). முற்றிலும் எந்தப் பெயரும், லத்தீன் மொழியில். நான் ஒரு உதாரணத்திற்கு "சோதனை" என்ற பெயரை வைத்திருக்கிறேன்.

நிர்வாக குழுவில் உள்ள செருகுநிரலின் பெயர், தகவல் தலைப்பு செருகுநிரல் பெயர்: சோதனையில் எழுதப்பட்டதைப் போலவே இருக்கும் என்பதை நினைவில் கொள்ளவும் (கருத்துகளைப் பார்க்கவும்).

உருவாக்கப்பட்ட கோப்புறையைத் திறந்து அதில் பிரதான செருகுநிரல் கோப்பை உருவாக்கவும்:

... ஒரு பெயருடன், my-functions.php எனக் கூறி, அதன் உடலில் அத்தகைய வரிகளைச் சேர்க்கவும் (மற்றும் கோப்பின் பெயர் முற்றிலும் எதுவாகவும் இருக்கலாம்)

கருத்துகளில் உள்ள வரிகள் - நிர்வாக குழுவில் (செருகுநிரல்கள் மெனு) தோன்றும் சொருகி பற்றிய தகவல்.

கோப்புறை மற்றும் கோப்பை உருவாக்கிய உடனேயே, உங்கள் செருகுநிரல் நிர்வாக குழுவில் தோன்றும். பாருங்கள்.

ஒரு முன்னாள், நீங்கள் அதை சிறிது நேரம் செயல்படுத்தலாம் - ஆனால் எதுவும் நடக்காது, சொருகி இன்னும் செயலற்ற நிலையில் உள்ளது.

அவ்வளவுதான்!! ஒரு எளிய செருகுநிரல் உருவாக்கப்பட்டது மற்றும் குறிப்பிடத்தக்கது என்னவென்றால், அவரது சொந்த கைகளாலும் அவரது சொந்த நலனுக்காகவும் (பூனை மேட்ரோஸ்கின் சொல்வது போல்).

இந்த நேரத்தில், நிகழ்ச்சியின் திரை விழுகிறது ...
... சோகமான தூசி சரிவுகளில் விழுகிறது ...

மேலும், "செருகுநிரல்கள் இல்லாமல்" தொடரிலிருந்து ஒரு பயனுள்ள திரைப்படம் - பார், சிந்தியுங்கள், வீடியோவில் முன்மொழியப்பட்ட குறியீட்டை செயல்பாட்டுக் கோப்பில் விட்டுவிடுவது மதிப்புள்ளதா ??

நிச்சயமாக, புதிய செயல்பாட்டைச் சேர்க்க உங்கள் வேர்ட்பிரஸ் தளத்திற்கு சில குறியீட்டைச் சேர்க்க வேண்டும் என்ற உண்மையை நீங்கள் மீண்டும் மீண்டும் கண்டிருக்கிறீர்கள். உங்கள் தீமின் தலைப்புப் பகுதியில் நீங்கள் செருகும் Google Analytics ஸ்கிரிப்ட்களைப் பற்றி நான் பேசவில்லை. இல்லை. இணையத்தில் உள்ள மன்றங்களில் நீங்கள் கண்டறிந்த சிறிய குறியீடு துணுக்குகளைப் பற்றி நான் பேசுகிறேன், உடனடியாக அவற்றை உங்கள் கோப்பில் சேர்க்க ஓடினேன் செயல்பாடுகள்.php.

நேர்மையாக இருக்கட்டும், நீங்கள் இதை ஒரு முறையாவது செய்திருக்கிறீர்கள், இல்லையா? இது புரிந்துகொள்ளத்தக்கது, ஏனெனில் இது மன்றத்தில் எழுதப்பட்டது - இந்த குறியீட்டை உங்கள் வேர்ட்பிரஸ் தீமின் செயல்பாடுகள்.php இல் சேர்க்கவும்.

உண்மை என்னவென்றால், நீங்கள் இணையத்தில் காணும் ஒவ்வொரு குறியீட்டையும் functions.php இல் சேர்ப்பது எப்போதும் நல்ல யோசனை அல்ல... இந்தக் குறியீட்டைக் கொண்டு உங்கள் சொந்த தனிப்பயன் மினி செருகுநிரலை உருவாக்குவதே பாதுகாப்பான தீர்வாக இருக்கும்.

இந்த டுடோரியலில், நீங்கள் functions.php க்கு எந்தெந்த சந்தர்ப்பங்களில் குறியீட்டைச் சேர்க்கலாம், அதில் தனிச் செருகுநிரலைப் பயன்படுத்துவது நல்லது என்பதை நாங்கள் உங்களுக்குக் கூறுவோம். தனிப்பயன் செருகுநிரலை நீங்களே உருவாக்கி அதில் உங்கள் குறியீட்டை எவ்வாறு சேர்ப்பது என்பதையும் நாங்கள் உங்களுக்குக் காண்பிப்போம்.

செயல்பாடுகள் என்றால் என்ன.php

நீங்கள் எப்போதாவது உங்கள் வேர்ட்பிரஸ் தள கோப்புகளை ஸ்க்ரோல் செய்திருந்தால், நீங்கள் பல functions.php கோப்புகளில் தடுமாறியிருக்கலாம். இந்த டுடோரியலில் நாம் பேசும் functions.php கோப்பு கோப்புறையில் உள்ளது: wp-contentthemesyour_themefunctions.php.

வெளிப்படையாக, இது உங்கள் குறிப்பிட்ட தீமின் அனைத்து செயல்பாடுகளையும் அமைப்புகளையும் சேமிக்கும் அதே கோப்பு, தற்போது செயலில் உள்ளது... "செயலில்" என்ற வார்த்தைக்கு கவனம் செலுத்துங்கள், ஏனெனில் இது இந்த பாடத்தின் முக்கிய செய்தியாக இருக்கும்.

எப்பொழுதும் functions.php ஐப் பயன்படுத்துவது ஏன் மோசமான யோசனை

என்னை தவறாக எண்ண வேண்டாம், இரண்டு வரிகளில் சிறிய குறியீடு துண்டுகளுக்கு functions.php ஐப் பயன்படுத்துவது முற்றிலும் இயல்பானது. நீங்கள் குறியீட்டைச் சேர்க்கும் எல்லாவற்றிற்கும் ஒரு களஞ்சியமாக functions.php ஐப் பயன்படுத்துவது விரும்பத்தகாதது என்ற உண்மையைப் பற்றி நாங்கள் பேசுகிறோம். இது ஒவ்வொரு சூழ்நிலைக்கும் ஒரே அளவு பொருந்தக்கூடிய தீர்வு அல்ல.

காரணம் # 1.

உங்கள் கருப்பொருளுக்கான புதுப்பிப்பு வெளியிடப்பட்டால், நீங்கள் functions.php கோப்பில் சேர்த்த அனைத்தையும் இழப்பீர்கள். நீங்கள் இப்போது என்ன நினைத்தீர்கள் என்று எனக்குத் தெரியும் - ஆனால் இந்த சூழ்நிலைகளுக்கு சரியானதா?

நிச்சயமாக உண்டு. ஆனால் குழந்தைகளின் தீம் என்றால் என்ன என்று தெரியாத பலர் உள்ளனர். அல்லது தங்கள் தீமில் ஒரு குறியீட்டைச் சேர்க்க உதவுமாறு உங்களிடம் கேட்டவர்கள் உள்ளனர்.

எனவே, இந்த காரணம் இந்த பட்டியலில் உள்ளது. நீங்கள் ஒரு குழந்தை தீம் பயன்படுத்தாமல் functions.php இல் குறியீட்டைச் சேர்த்தால், இது உங்களின் முதல் விழித்தெழுதல் அழைப்பு.

காரணம் # 2.

நீங்கள் குழந்தை தீமை உள்ளமைத்து சரியாகப் பயன்படுத்தினாலும். வேறு வடிவமைப்பு தீமுக்கு மாற விரும்பினால் என்ன நடக்கும்? உங்கள் functions.php கோப்பில் நீங்கள் செய்யும் ஒவ்வொரு மாற்றத்திற்கும் ஒரு கருத்தைச் சேர்த்துள்ளீர்கள் என்று நம்புகிறேன், ஏனென்றால் அது இல்லாமல், வேறொரு தலைப்புக்கு நகர்வது மிகவும் வேதனையாக இருக்கும். உங்களுக்கு யோசனை புரிந்திருக்கும் என்று நினைக்கிறேன்.

காரணம் எண் 3.

நீங்கள் functions.php இல் குறியீட்டைச் சேர்த்தால், அது முற்றிலும் எதிர்பாராத விதமாக உங்கள் தளத்தை உடைத்து, வெற்று வெள்ளைத் திரையைப் பார்த்தால் - "உடைந்த" functions.php ஐப் பதிவேற்ற, அதைத் திருத்தி மீண்டும் தளத்தில் பதிவேற்ற உங்களுக்கு FTP கிளையன்ட் தேவைப்படும். தனக்கே அப்படி ஒரு மகிழ்ச்சி.

செயல்பாடுகளை எப்போது பயன்படுத்த வேண்டும்.php

தற்போது செயலில் உள்ள குழந்தை கருப்பொருளுக்கு functions.php ஐ சரியாகப் பயன்படுத்துவது சரியான விருப்பமாகும். ஆனால் நினைவில் கொள்ளுங்கள், நான் இந்த வார்த்தையில் கவனம் செலுத்தினேன் " செயலில்"?

இந்தக் குறிப்பிட்ட கருப்பொருளுடன் பணிபுரியும் போது மட்டுமே அர்த்தமுள்ள குறியீடுகளைச் சேர்த்தால், நீங்கள் பாதுகாப்பாக functions.php (குழந்தை தீமில்) பயன்படுத்தலாம். இது பொருத்தமானதாக இருக்கும் சில எடுத்துக்காட்டுகள் இங்கே:

  • உங்கள் தீமுக்கு மற்றொரு ஸ்டைல்ஷீட் (.css) சேர்க்கிறது
  • தளம் சிறப்பாக இருக்க, இடுகையின் பகுதியின் நீளத்தை மாற்றவும்
  • தற்போதைய கருப்பொருளுக்கு தனிப்பயன் எழுத்துருக்களைச் சேர்த்தல்
  • தற்போதைய கருப்பொருளை மொழிபெயர்க்க உள்ளூர்மயமாக்கல் கோப்பைச் சேர்த்தல்

வேறு வார்த்தைகளில் கூறுவதானால், ஒரு குறிப்பிட்ட தற்போதைய தீம் தொடர்பான எதையும் நீங்கள் சேர்க்கும்போது அல்லது மாற்றும்போது, ​​functions.php ஐப் பயன்படுத்த தயங்க வேண்டாம்.

செயல்பாடுகள் இல்லாமல் செய்வது எப்போது நல்லது.php

மற்றொரு கருப்பொருளுக்கு கோட்பாட்டளவில் உங்களுக்கு பயனுள்ளதாக இருக்கும் உலகளாவிய விஷயங்கள் மற்றும் செயல்பாடுகளைச் சேர்க்க functions.php ஐப் பயன்படுத்துவது தவறான யோசனையாகும்.

செயல்பாடுகள்.php இல்லாமல் செய்வது எப்போது சிறந்தது என்பதற்கான சில எடுத்துக்காட்டுகள் இங்கே:

  • நீங்கள் அடிக்கடி பயன்படுத்தும் தனிப்பயன் விட்ஜெட்களை உருவாக்குதல்
  • தனிப்பயன் ஷார்ட்கோட்களை உருவாக்குதல்
  • தீம்-சுயாதீனக் குறியீட்டைச் சேர்த்தல் (Google Analytics குறியீடு போன்றவை)

இதுபோன்ற சந்தர்ப்பங்களில், உங்கள் தீம் எதுவாக இருந்தாலும் இந்தக் குறியீட்டை வைத்திருப்பது சிறந்தது. தனிப்பயன் செருகுநிரல்கள் மூலம் நீங்கள் அதைச் செய்யலாம்.

நீங்கள் இப்போது யோசித்துக்கொண்டிருக்கிறீர்களா - ஒரு சொருகி உருவாக்குவது பற்றி குழப்பமாக உள்ளது, எப்போது நீங்கள் functions.php ஐ திருத்தலாம்? இது மிகவும் கடினம்! என்னை நம்புங்கள், இது அப்படி இல்லை. இது மிக விரைவாகவும் எளிதாகவும் செய்யப்படுகிறது.

functions.phpக்கு பதிலாக தனிப்பயன் செருகுநிரலை எவ்வாறு அமைப்பது

உங்கள் குறியீட்டைச் சேமிப்பதற்காக உங்கள் சொந்த தனிப்பயன் செருகுநிரலை உருவாக்க, உங்களுக்கு:

  1. உங்கள் குறியீட்டைக் கொண்டு உரைக் கோப்பை உருவாக்கி அதை .php கோப்பாகச் சேமிக்கவும்
  2. இதன் விளைவாக வரும் .php கோப்பை .zip காப்பகத்தில் பேக் செய்யவும்
  3. இந்த காப்பகத்தை மெனுவில் வழக்கமான வேர்ட்பிரஸ் செருகுநிரலாக நிறுவவும் செருகுநிரல்கள் → புதியதைச் சேர்

அவ்வளவுதான், வெறும் 3 செயல்கள்.

படி 1. உங்கள் குறியீட்டைக் கொண்டு .php கோப்பை உருவாக்கவும்

உங்கள் கணினியில் நோட்பேடைத் திறந்து பின்வரும் உரையை ஒட்டவும்:

செருகுநிரல் பெயர் வரிசையில் நீங்கள் நிச்சயமாக உங்கள் பெயரை சொருகிக்கு பயன்படுத்தலாம்:

கோப்பைச் சேமித்து, அதற்கு சில தனித்துவமான பெயரைக் கொடுங்கள், இதனால் வேர்ட்பிரஸ் ஏற்கனவே நிறுவப்பட்டவற்றுடன் உங்கள் செருகுநிரலை குழப்பாது. உதாரணமாக: wpcafe-custom-functions.php.

ஆம், "அனைத்து கோப்புகளும்" கோப்பு வகையைத் தேர்ந்தெடுத்து சேமிக்கும் போது .php நீட்டிப்பைச் சேர்க்க மறக்காதீர்கள்:

படி 2. .zip காப்பகத்தை உருவாக்கவும்

இங்கே விளக்கம் தேவையில்லை என்று நினைக்கிறேன். எந்த வசதியான காப்பகத்திலும் உங்கள் கோப்புடன் .zip காப்பகத்தை உருவாக்கவும்.

படி 3. வழக்கமான செருகுநிரலாக நிறுவவும்

எளிதான பகுதி. உங்கள் வேர்ட்பிரஸ் நிர்வாகியிடம் செல்லவும் செருகுநிரல்கள் → புதியதைச் சேர்உங்கள் காப்பகத்தை வழக்கமான செருகுநிரலாக பதிவேற்றவும்.

நீங்கள் அதைச் செயல்படுத்தியதும், நிறுவப்பட்ட அனைத்து செருகுநிரல்களின் பட்டியலிலும் உங்கள் புதிய செருகுநிரலைப் பார்க்க முடியும்:

உங்கள் குறியீட்டை எவ்வாறு சேர்ப்பது

உங்கள் குறியீடு துணுக்கைச் சேர்க்க, நீங்கள் உருவாக்கிய .php கோப்பில் ஒட்டவும். அல்லது நீங்கள் எப்போதும் இரண்டு வெவ்வேறு செயல்பாடுகளுக்கு மற்றொரு தனி செருகுநிரலை உருவாக்கலாம்.

எடுத்துக்காட்டாக, நீங்கள் "ஹலோ வேர்ல்ட்!" சுருக்குக்குறியீட்டை உருவாக்க விரும்பினால், உங்கள் .php கோப்பு இப்படித்தான் இருக்கும்:

இந்த கருத்துகள் உங்கள் குறியீட்டின் செயல்திறன் மற்றும் செருகுநிரல் செயல்பாட்டின் வேகத்தை எந்த வகையிலும் பாதிக்காது. ஆனால், நீங்கள் சேர்க்கும் ஒவ்வொரு செயல்பாடும் என்ன என்பதை நினைவில் வைத்து, அவற்றைக் கொண்டு செல்லவும் எளிதாக இருக்கும்.

உங்கள் கருத்தை ஸ்லாஷ் மற்றும் ஆஸ்டிரிக் தொடரியலில் மடிக்கவும்: /* தங்கள் கருத்து */

உங்கள் குறியீட்டில் மாற்றங்களைச் செய்த பிறகு, FTP வழியாக .php கோப்பை மீண்டும் ஏற்றலாம் அல்லது புதிய .zip காப்பகத்தை உருவாக்கி புதிய செருகுநிரலாகப் பதிவேற்றி பழையதை நீக்கலாம்.

செயல்பாடுகளை திருத்துவதைத் தவிர்ப்பதற்கான பிற வழிகள்.php

மொத்தத்தில், உங்கள் திறன்களில் உங்களுக்கு போதுமான நம்பிக்கை இருந்தால் மற்றும் functions.php இல் குறியீட்டை எவ்வாறு சேர்ப்பது என்பது உங்களுக்குத் தெரிந்தால், தனிப்பயன் செருகுநிரல்களிலும் உங்களுக்கு சிரமம் இருக்கக்கூடாது. இங்கே கடினமான ஒன்றும் இல்லை.

ஆனால் இதையெல்லாம் கைமுறையாகக் கையாள உங்களுக்கு விருப்பம் இல்லை என்றால் நாங்கள் நன்றாக புரிந்துகொள்கிறோம். இன்னும், இது வேர்ட்பிரஸ். எனவே, இலவச குறியீடு துணுக்குகள் செருகுநிரல் கைக்குள் வரலாம், இது உங்கள் கூடுதல் குறியீட்டை தளத்தில் சேர்ப்பதை எளிதாக்குகிறது:

இந்த சொருகி மூலம், நீங்கள் வெவ்வேறு குறியீடு துணுக்குகளைச் சேர்க்கலாம், அவற்றுக்கு ஒரு பெயர், விளக்கம் கொடுக்கலாம், ஒன்று அல்லது மற்றொரு குறியீட்டைத் தேர்ந்தெடுத்து செயலிழக்கச் செய்யலாம்.

மற்றொரு சிறந்த அம்சம் என்னவென்றால், தளங்களுக்கு இடையே உங்கள் குறியீடு துணுக்குகளை நீங்கள் இறக்குமதி / ஏற்றுமதி செய்யலாம்.

முடிவுகள்

இது ஒரு சிறிய விவரம் போல் தோன்றலாம், ஆனால் உங்கள் கூடுதல் குறியீட்டின் சரியான இடம் எதிர்காலத்தில் மற்ற தீம்களுக்கு இடையில் எளிதாக மாற உங்களை அனுமதிக்கும். ஒவ்வொரு கூடுதல் செயல்பாட்டையும் தனித்தனி செருகுநிரல்களுக்கு இடையில் பிரித்தால், நீங்கள் ஒன்று அல்லது மற்றொரு செயல்பாட்டை தனித்தனியாக இயக்கலாம் அல்லது முடக்கலாம்.

எனவே இந்த முறை உண்மையில் கவனத்திற்குரியது.

cms mysql (4)

வேர்ட்பிரஸ் போன்ற CMS இல் நீங்கள் அடிக்கடி காணும் ஒரு அடிப்படை செருகுநிரல் அமைப்பை உருவாக்க முயற்சிக்கிறேன். அறிவிப்புகளைப் பயன்படுத்தி முக்கிய சிஸ்டம் செயல்பாட்டுடன் இணைக்கப்பட்ட செருகுநிரல்களின் கோப்புறை உங்களிடம் உள்ளது முதல் முன்னேற்றங்கள்வடிவமைப்பு வடிவத்தைப் பயன்படுத்தி பார்வையாளர்அல்லது நிகழ்வு .

பிரச்சனை என்னவென்றால், கணினியால் அறிய முடியாது என்ன நிகழ்வுகள்சொருகி செயல்பட விரும்புகிறது - எனவே அந்தச் செருகுநிரல் ஒரு கட்டத்தில் உண்மையில் தேவைப்படுகிறதா என்பதைப் பார்க்க ஒவ்வொரு பக்க கோரிக்கைக்கும் ஒவ்வொரு செருகுநிரலை கணினி ஏற்ற வேண்டும். இது நிறைய வீணான வளங்கள் என்று சொல்லத் தேவையில்லை - வேர்ட்பிரஸ் விஷயத்தில், ஒவ்வொரு கோரிக்கைக்கும் சில கூடுதல் MB நினைவகம் வரை சேர்க்கிறது!

இதற்கு மாற்று வழிகள் உள்ளதா?

எடுத்துக்காட்டாக, முழுப் பொருளையும் ஒரு முறை ஏற்றி, முடிவுகளைத் தேக்ககப்படுத்த வழி உள்ளதா? அதனால் உங்கள் கணினியில் சோம்பேறி ஏற்றுதல் செருகுநிரல்களைப் போலத் தெரியும்? வேறு வார்த்தைகளில் கூறுவதானால், செருகுநிரல் பிணைக்க விரும்பும் அனைத்து நிகழ்வுகளையும் பட்டியலிடும் ஒரு கட்டமைப்பு கோப்பை கணினி ஏற்றுகிறது, பின்னர் அவற்றை APC இல் அல்லது எதிர்கால கோரிக்கைகளுக்காக சேமிக்குமா?

அதுவும் வேலை செய்யவில்லை என்றால், கோரிக்கையை நிறைவேற்ற சில செருகுநிரல்கள் தேவைப்படாமல் இருக்கும் போது கல்வியறிவு பெற்ற யூகங்களை உருவாக்க ஒரு சிறப்பு கோப்பு அமைப்பு பயன்படுத்தப்படலாம்.

பதில்கள்

என்னிடம் ஒரு செருகுநிரல் மேலாண்மைக் கருவி உள்ளது, ஆனால் நான் அதை நடைமுறைச் செருகுநிரல்களுடன் மட்டுமே பயன்படுத்துகிறேன், மேலும் அனைத்தையும் உள்ளடக்கியவுடன் அது உடனடியாக ஏற்றப்படும். ஆனால் நிகழ்வு அடிப்படையிலான ஏபிஐ மற்றும் சோம்பேறி ஏற்றுதல் ஆகியவற்றிற்கு, செருகுநிரல்களை நிர்வகிக்க மேலோட்டமான ரேப்பர்களைப் பயன்படுத்துவதையும், உண்மையான நீட்டிப்புகளுக்கு தானாக ஏற்றுவதை நாடுவதையும் என்னால் கற்பனை செய்து பார்க்க முடிந்தது.

/ ** * api: எதுவாக இருந்தாலும் * பதிப்பு: 0.1 * தலைப்பு: சொருகி உதாரணம் * விளக்கம்: ... * config: * சார்ந்தது: மற்ற சொருகி * /$ செருகுநிரல்கள் ["title_event"] = "TitleEventClass"; $ செருகுநிரல்கள் ["இரண்டாம் நிலை"] = வரிசை ("கிளாஸ்2", "கால்பேக்"); ?>

இந்த உதாரணத்திற்கு, சொருகி API ஒரு எளிய பட்டியல் என்று நான் கருதுகிறேன். இந்த எடுத்துக்காட்டு ஸ்கிரிப்ட் அம்சம்-சொருகி-123.php அதை ஏற்றப்பட்ட வரிசையில் சேர்ப்பதைத் தவிர வேறு எதையும் செய்யாது. இந்த வழியில், உங்களிடம் ஒரு டஜன் அம்ச செருகுநிரல்கள் இருந்தாலும், அது ஒவ்வொன்றிற்கும் ஒரு கூடுதல் சேர்க்கை_ஒன்ஸ் மட்டுமே கிடைக்கும்.

ஆனால் பிரதான பயன்பாடு / அல்லது செருகுநிரல் API ஆனது குறிப்பிடப்பட்ட வகுப்புகளை (புதிய $ Eventcb; raw-call_user_func_arrayக்கு அல்லது call_user_func_array க்கு) உடனடியாக மாற்ற முடியும். இதையொட்டி, இது உண்மையான பணியை ஆட்டோலோடரில் ஏற்றும். எனவே உங்களிடம் இரட்டை அமைப்பு உள்ளது, அங்கு ஒரு பகுதி பட்டியலை நிர்வகிக்கிறது, மற்றொன்று உண்மையான குறியீடு.

நான் இன்னும் ஒரு எளிய config.php ஐ கற்பனை செய்து கொண்டிருக்கிறேன், அது இது போன்ற செருகுநிரல்கள் மற்றும் அமைப்புகளை பட்டியலிடுகிறது:

"user / wrapper-for-htmlpurifier.php"); $ cfg ["அழகான"] = 1;

இவை வெறும் டேட்டா ரேப்பர்கள் / ஸ்கிரிப்டுகள் என்பதை மீண்டும் கணக்கில் எடுத்துக்கொள்வது, மேலாண்மைக்கான செருகுநிரலின் விளக்கத்துடன். நீங்கள் உண்மையான register_even () API ஐப் பயன்படுத்தலாம் மற்றும் ஒவ்வொன்றிலும் கூடுதல் ரேப்பர் செயல்பாட்டை வரையறுக்கலாம். ஆனால் அருமையான பெயர்களின் பட்டியல் எளிதான விருப்பமாகத் தெரிகிறது.

மேலே உள்ள மேலாண்மைக் கருவி துருப்பிடித்ததாகவும் அசிங்கமாகவும் தெரிகிறது: http://milki.include-once.org/genericplugins/
ஆனால் நீங்கள் ஒரு பட்டியல் (sql அட்டவணை) மற்றும் அமைப்புகளை நிர்வகித்தால் மட்டுமே பயன்படுத்தப்படாது. இந்த மேல்நிலையானது சொருகி மெட்டாடேட்டாவை நன்றாக அச்சிடுவதற்கும், படிக்கக்கூடிய config.php ஐ வைத்திருப்பதற்கும் மட்டுமே.

இறுதியாக:

spl_autoload ()ஐ சேர்ப்பதற்கு_பாதை மற்றும் எளிய வழக்கு நிகழ்வு-> வகுப்புப்பெயர், ஒவ்வொன்றும் ஒரு ரேப்பர் ஸ்கிரிப்ட், அனைத்தையும் ஒரே நேரத்தில் சேர்க்கவும்.

நான் செருகுநிரல் வகுப்பின் பெயரை அதன் கையொப்பமிடப்பட்ட நிகழ்வுகளுடன் ஒரு கட்டமைப்பு கோப்பில் சேமித்து வைப்பேன், பின்னர் பாகுபடுத்தப்பட்ட கட்டமைப்பு கோப்பை APC இல் சேமிப்பேன். பின்னர், நிகழ்வு சுடும் போது, ​​கணினி தேவைக்கேற்ப பொருத்தமான செருகுநிரல் வகுப்புகளை சோம்பேறியாக ஏற்றலாம்.

வேர்ட்பிரஸ் மற்றும் பிற CMS அமைப்புகள் மிகவும் மோசமான உதாரணங்கள்.

மட்டு என்பது எப்பொழுதும் கனமானது என்பதை நாம் புரிந்து கொள்ள வேண்டும்.

இந்தச் சூழ்நிலையைத் தீர்க்க நான் பணியாற்றிய மிகச் சிறந்த திட்டம், ஒரு ஆட்டோலோடரைப் பயன்படுத்தி, கண்டிப்பான பெயரிடும் மரபுடன், வகுப்பு அடிப்படையிலான செருகுநிரலாகும்.

எனவே, நீங்கள் செருகுநிரலைப் பயன்படுத்துவதற்கு முன்பு நிலையான செயல்பாடுகளை உடனடியாக அல்லது பயன்படுத்த வேண்டும்.

நீங்கள் சொருகி கூட அழைக்கலாம்:

உதாரணத்திற்கு:

"/plugins/($parts)/($parts).php"); முறிவு; ) // ...)?>

நிகழ்வுகளைப் பொறுத்தவரை:

மாறும் மாற்றத்தைத் தவிர்க்க, இந்த நிகழ்வை நிலையான முறையில் பதிவு செய்ய வேண்டும்.

தரவுத்தளம் இதற்கு சரியான இடமாக இருக்கும். நீங்கள் நிகழ்வு அட்டவணைகளை வைத்திருக்கலாம் மற்றும் குறிப்பிட்ட நிகழ்வுகளைச் சேர்க்க அல்லது பிற நிகழ்வுகளுக்கு முறைகளை இணைக்க செருகுநிரல் வகுப்பில் () மற்றும் நிறுவல் நீக்க () முறைகளை நிறுவலாம். இது ஒரு தரவுத்தள வினவல், மேலும் நீங்கள் அதிலிருந்து அதிகம் பெற விரும்பினால், அதை memcached அல்லது flat ini கோப்பில் சேர்க்கவும்.

எனக்கு நன்றாக வேலை செய்கிறது. இந்த வழியில், 1MB க்குக் குறைவதற்கான ஒரு கோரிக்கைக்கு 8MB நுகரப்படும் ஒரு கனமான அமைப்பைப் பெற முடிந்தது, அதே அம்சப் பட்டியலுடன், முன்-கேச்சிங் இல்லை. இப்போது நாம் கூடுதல் அம்சங்களைச் சேர்த்து கணினியை "சுத்தமாக" வைத்திருக்கலாம்

இது தங்களுக்கு உதவும் என நம்புகிறேன்

அவர்களுடன் குறியீட்டை தொடங்குவதே சிறந்த வழி. வடிவமைப்பு வடிவங்கள் ஒரு சிறந்த கருத்தாகும், அவற்றைப் படிப்பதன் மூலம் அவற்றைப் பயன்படுத்துவது கடினம். இணையத்தில் நீங்கள் கண்டறிந்த சில எடுத்துக்காட்டு செயலாக்கங்களை எடுத்து அவற்றைச் சுற்றி உருவாக்கவும்.

ஒரு சிறந்த ஆதாரம் தரவு மற்றும் பொருள் பக்கம். அவை வார்ப்புருக்கள் வழியாகச் சென்று கருத்தியல் மற்றும் நிஜ உலக உதாரணங்களைத் தருகின்றன. தங்களின் குறிப்புப் பொருளும் அருமை.

உங்கள் வேர்ட்பிரஸ் தீமில் உள்ள முக்கிய கோப்பு இதுவாகும். / wp-content / themes / (இங்கே உங்கள் தீமின் பெயர்) /functions.php இல் அமைந்துள்ளது.
இது கருப்பொருளின் முக்கியமான பண்புகளை வரையறுக்கிறது, கொக்கிகள், தோற்றம் மற்றும் செயல்பாட்டைத் தனிப்பயனாக்குகிறது, மேலும் உங்களுக்குத் தேவையான சில அம்சங்களையும் சேர்க்கிறது. ஒவ்வொரு முறையும் நீங்கள் எந்த வேர்ட்பிரஸ் பக்கத்தைத் திறக்கும் போதும் இந்தக் கோப்பு ஏற்றப்படும், எனவே தளத்தின் எந்த உறுப்பையும் மாற்ற இதைப் பயன்படுத்தலாம். இது சம்பந்தமாக, பல குறிப்புகள் ஒரு லா " செருகுநிரல்கள் இல்லாமல் வேர்ட்பிரஸில் எதையாவது மாற்றுவது எப்படி »இந்தச் செயல்பாட்டிற்காக ஒரு தனிச் செருகுநிரலை உருவாக்குவதற்குப் பதிலாக அல்லது ஆயத்த தீர்வைப் பயன்படுத்துவதற்குப் பதிலாக, functions.php இல் மாற்றங்களைச் செய்வதில் பெரும்பாலும் அக்கறை உள்ளது. இது அடிக்கடி இந்தக் கோப்பின் தகவல் சுமைக்கு வழிவகுக்கிறது, குறியீட்டை அலசுவது கடினமாகிறது, மேலும் திருத்தங்களை இன்னும் கடினமாக்குகிறது. ஆனால் இது மிகவும் ஆபத்தான விஷயம் அல்ல. மிகவும் ஆபத்தான விஷயம் என்னவென்றால் செயலில் உள்ள கருப்பொருளை மாற்றும்போது, ​​தளத்தின் ஒரு பகுதி அல்லது தேவையான அனைத்து செயல்பாடுகளும் இழக்கப்படும்.

எப்படி functions.php சொருகி இருந்து வேறுபடுகிறது

ஒன்றுமில்லை. அதன் மையத்தில், functions.php என்பது தற்போதைய கருப்பொருளுடன் இணைக்கப்பட்ட ஒரு வகையான உலகளாவிய மாறாத செருகுநிரலாகும். Wp-settings.php இல் வேர்ட்பிரஸ்ஸில் இது எவ்வாறு இணைகிறது என்பதை நீங்கள் பார்க்கலாம். மூலக் குறியீட்டிலிருந்து நீங்கள் பார்க்க முடியும் என, இது அனைத்து செருகுநிரல்களுக்குப் பிறகு ஏற்றப்படும், இருப்பினும், இணைக்கப்பட்ட செருகுநிரல்களில் ஏதேனும் ஒன்றை மீறும் திறனைத் தவிர, இது எந்த தீமைகளையும் நன்மைகளையும் தராது. இது குறியீடு செயல்படுத்தும் வேகத்தையும் பாதிக்காது. plugins மற்றும் functions.php இன் உள்ளடக்கம் மட்டுமே பாதிக்கப்படுகிறது. எனவே, உங்கள் கருப்பொருளுக்கு செயலில் உள்ள செருகுநிரல்களைத் தேர்ந்தெடுக்கும்போது கவனமாக இருங்கள் மற்றும் தேவையற்ற, உங்களுக்குப் பயன்படாதவற்றை விட்டுவிடுங்கள், பின்னர் உங்கள் தளத்தை இலகுவாக்கி அதன் வேலையை விரைவுபடுத்தலாம்.

செயல்பாடுகளை எப்போது பயன்படுத்த வேண்டும்.php

பின்வரும் விதியால் வழிநடத்தப்படுங்கள்: செயல்பாடு தற்போதைய கருப்பொருளுடன் நேரடியாக தொடர்புடையதாக இருந்தால், ஆனால் தளத்தின் செயல்பாட்டிற்கு அல்ல, அதை functions.php இல் எழுதவும்.

உதாரணமாக, அது இருக்கலாம்

  • சிறுபடங்களை அமைத்தல்
  • பக்கப்பட்டி அளவுகளை அமைத்தல்
  • விட்ஜெட்டுகளுக்கான இடங்களை அமைத்தல்
  • வழிசெலுத்தல் மெனுவின் கீழ் இடங்களின் அறிவிப்பு
  • தீம் அமைப்புகள்
  • உங்கள் தீமின் கூடுதல் அம்சங்கள்

செயல்பாடுகள்.php பயன்படுத்துவதை எப்போது தவிர்க்க வேண்டும்

செயலில் உள்ள கருப்பொருளை மாற்றும்போது கூட செயல்பாடு வேலை செய்ய வேண்டும் என்றால், அதை ஒரு தனி செருகுநிரலில் வைப்பதை நீங்கள் கவனித்துக் கொள்ள வேண்டும்.
இவற்றில் அடங்கும்:

  • வருகை கவுண்டர்களின் வரையறை (Google Analytics, Yandex.Metrika, Liveinternet)
  • நிர்வாக குழுவின் கூடுதல் செயல்பாட்டை அமைத்தல் (உதாரணமாக)
  • மூலக் குறியீட்டை உள்ளமைத்தல் ()
  • ஷார்ட்கோட்களை வரையறுத்தல்
  • பதிவு

பட்டியல்கள் முழுமையடையாதவை, அவற்றின் உள்ளடக்கத்தை நீங்களே வரையறுக்கலாம்.

functions.php இல் இல்லையெனில் இந்த குறியீட்டை நான் எங்கே சேர்க்கலாம்? அவர்களுக்காக நீங்கள் சிறப்பு செருகுநிரல்களை எழுதலாம், இருப்பினும், மிகவும் சுவாரஸ்யமான மற்றும் எளிமையான வழி உள்ளது.

செயல்பாடுகளுக்கு மாற்றாக mu-plugins.php

WordPress MU (மல்டி-யூசர்) இலிருந்து WordPress இன் நவீன பதிப்புகளில் ஒரு சுவாரஸ்யமான செயல்பாடு எங்களுக்கு வந்துள்ளது. MU செருகுநிரல்கள்... அதன் சாராம்சம் பின்வருமாறு இருந்தது. வேர்ட்பிரஸ் MU நிர்வாகி சில நேரங்களில் தளங்களின் முழு நெட்வொர்க்கிற்கான செருகுநிரல்களை வரையறுக்க வேண்டும். வழக்கமான செயல்பாட்டில் இது சாத்தியமில்லை, எனவே ஒரு சிறப்புப் பிரிவு அறிமுகப்படுத்தப்பட்டது: / wp-content / mu-plugins /, அவை வரையறுக்கப்பட்டன. மற்றொரு சுவாரஸ்யமான விஷயம் என்னவென்றால், இந்த கோப்பகத்திலிருந்து சொருகி கோப்புகள் மற்ற எல்லாவற்றுக்கும் முன்பாக ஏற்றப்படும், இது சில மாறிலிகள் அல்லது அமைப்புகளை முன் வரையறுக்க உதவுகிறது.
பின்னர் WPMU ஒழிக்கப்பட்டது, அதன் குறியீடு பிரதான பிளாக்கிங்குடன் ஒருங்கிணைக்கப்பட்டது, இப்போது எந்த வேர்ட்பிரஸ்ஸும் MU-plugins இன் செயல்பாட்டைப் பயன்படுத்தலாம், இது இப்போது குறிக்கிறது பயன்படுத்த வேண்டும், அதாவது, பயன்பாட்டிற்கு கட்டாயம்.

Mu-plugins ஐ எவ்வாறு பயன்படுத்துவது

முதலில், நீங்கள் ஒரு சிறப்புப் பகுதியை உருவாக்க வேண்டும் / wp-content / mu-plugins /
தேவையான செருகுநிரல் கோப்புகளை அதில் வைக்கிறோம். வழக்கமான செருகுநிரல்களைப் போலன்றி, ஒரு சிறப்பு தொடரியல் கடைபிடிக்க வேண்டிய அவசியமில்லை, மேலும் செயல்பாட்டை நேரடியாக அறிவிக்க முடியும்

இங்கே, எடுத்துக்காட்டாக, வருகை கவுண்டர்களின் குறியீட்டைக் கொண்ட கோப்பு உருவாக்கப்பட்டுள்ளது.
உள்ளே, இந்த கோப்பு இப்படி இருக்கும்

// ... இந்த வரிக்கு பதிலாக, கவுண்டர் குறியீட்டைச் செருகவும் ...

நிர்வாக பகுதியில், இது போல் இருக்கும் அவசியமானது

8 பதில்கள்

நீங்கள் அப்சர்வர் பேட்டர்னைப் பயன்படுத்தலாம். இதைச் செய்வதற்கான எளிய செயல்பாட்டு வழி:

வெளியீடு:

இது எனது கிரேஸி பயன்பாடு 4 + 5 = 9 4 * 5 = 20

குறிப்புகள்:

இந்த எடுத்துக்காட்டு மூலக் குறியீட்டில், நீங்கள் புதுப்பிக்க விரும்பும் உண்மையான மூலக் குறியீட்டிற்கு முன் உங்கள் அனைத்து செருகுநிரல்களையும் அறிவிக்க வேண்டும். செருகுநிரலுக்கு அனுப்பப்பட்ட ஒன்று அல்லது அதற்கு மேற்பட்ட மதிப்புகளை எவ்வாறு கையாள்வது என்பதற்கான உதாரணத்தைச் சேர்த்துள்ளேன். ஒவ்வொரு கொக்கிக்கும் எந்த வாதங்கள் அனுப்பப்படுகின்றன என்பதை பட்டியலிடும் உண்மையான ஆவணங்களை எழுதுவதே இதன் கடினமான பகுதியாகும்.

PHP இல் ஒரு செருகுநிரல் அமைப்பை உருவாக்க இது ஒரு வழியாகும். சிறந்த மாற்று வழிகள் உள்ளன, மேலும் தகவலுக்கு வேர்ட்பிரஸ் ஆவணங்களைப் பார்க்க பரிந்துரைக்கிறேன்.

மன்னிக்கவும், அடிக்கோடுகளை HTML மார்க் டவுன் உட்பொருட்கள் மூலம் மாற்றுவது போல் தெரிகிறதா? இந்தப் பிழை சரி செய்யப்பட்டதும் இந்தக் குறியீட்டை மீண்டும் இடுகையிட முடியும்.

திருத்து: பரவாயில்லை, நீங்கள் திருத்தும்போது மட்டுமே அது தோன்றும்

எனவே, உங்களுக்கு அப்சர்வர் பேட்டர்ன் தேவையில்லை என்று வைத்துக்கொள்வோம், ஏனெனில் கேட்கும் பணியைக் கையாள வகுப்பின் முறைகளை நீங்கள் மாற்ற வேண்டும், மேலும் நீங்கள் பொதுவான ஒன்றை விரும்புகிறீர்கள். நீங்கள் நீட்டிக்கப்பட்ட பரம்பரையைப் பயன்படுத்த விரும்பவில்லை என்று வைத்துக்கொள்வோம், ஏனெனில் நீங்கள் ஏற்கனவே உங்கள் வகுப்பை வேறு சில வகுப்பிலிருந்து பெறலாம். எந்தவொரு வகுப்பையும் சிரமமின்றி சொருகக்கூடியதாக மாற்றுவதற்கான பொதுவான வழி இருந்தால் நன்றாக இருக்கும் அல்லவா? எப்படி என்பது இங்கே:

_Class = get_class (& $ RefObject); $ இது -> _ RefObject = $ RefObject; பொது செயல்பாடு __set ($ sProperty, $ கலப்பு) ($ sPlugin = $ இது -> _ வகுப்பு. "_". $ sProperty. "_setEvent"; என்றால் (is_callable ($ sPlugin)) ($ mixed = call_user_func_array ($ sPlugin, $ கலப்பு);) $ இது -> _ RefObject -> $ sProperty = $ கலந்தது;) பொது செயல்பாடு __get ($ sProperty) ($ asItems = (வரிசை) $ இது -> _ RefObject; $ mixed = $ asItems [$ sProperty] ; $ sPlugin = $ இது -> _ வகுப்பு. "_". $ sProperty. "_getEvent"; என்றால் (is_callable ($ sPlugin)) ($ mixed = call_user_func_array ($ sPlugin, $ mixed);) $ mixed;) பொது செயல்பாடு __call ($ sMethod, $ mixed) ($ sPlugin = $ this -> _ Class. "_". $ sMethod. "_beforeEvent"; என்றால் (is_callable ($ sPlugin)) ($ mixed = call_user_func_array ($ sPlugin, $ mixed );) என்றால் ($ mixed! = "BLOCK_EVENT") (call_user_func_array (array (& $ this -> _ RefObject, $ sMethod), $ mixed); $ sPlugin = $ this -> _ Class. "_". $ sMethod . "_afterEvent"; எனில் ( is_callable ($ sPlugin)) (call_user_func_array ($ sPlugin, $ mixed);))))) // end class Plugin class Pluggable நீட்டிக்கிறது Plugin () // end class Pl uggable //////////////////////// பகுதி 2 ////////////////// வகுப்பு நாய் (பொது $ பெயர் = ""; பொது செயல்பாடு பட்டை (& $ sHow) (எக்கோ "$ sHow
\ n ";) பொது செயல்பாடு sayName () (எதிரொலி"
\ nஎனது பெயர்: ". $ இது-> பெயர்."
\ n ";)) // இறுதி வகுப்பு நாய் $ நாய் = புதிய நாய் (); ////////////////// பகுதி 3 //////// /////////// $ PDog = புதிய செருகக்கூடிய ($ நாய்); செயல்பாடு Dog_bark_beforeEvent (& $ mixed) ($ mixed = "Woof"; // "meow" என்பதை "Woof" உடன் மேலெழுதவும் / / $ mixed = "BLOCK_EVENT"; // நீங்கள் நிகழ்வைத் தடுக்க விரும்பினால் $ mixed கோகோ"; // "கோகோ" ரிட்டர்ன் $ கலப்புடன் "ஃபிடோ" ஐ மேலெழுதவும் ////////////////// பகுதி 4 ////////////////// $ PDog-> பெயர் = "ஃபிடோ "; $ PDog-> பட்டை ("மியாவ்"); $ PDog-> SayName (); எதிரொலி "எனது புதிய பெயர்:". $ PDog-> பெயர்;

முதல் பகுதி, உங்கள் PHP ஸ்கிரிப்ட்டின் மேலே உள்ள தேவை_ஒன்ஸ் () அழைப்பில் நீங்கள் சேர்க்கலாம். எதையாவது சொருகக்கூடியதாக மாற்ற இது வகுப்புகளை ஏற்றுகிறது.

பகுதி 2 இல், நாங்கள் வகுப்பை ஏற்றுகிறோம். குறிப்பு. அப்சர்வர் பேட்டர்னிலிருந்து கணிசமாக வேறுபட்ட வகுப்பிற்கு நான் சிறப்பு எதுவும் செய்யத் தேவையில்லை.

பகுதி 3 இல், நாங்கள் எங்கள் வகுப்பை "சொருகக்கூடிய" க்கு மாற்றுவோம் (அதாவது வகுப்பின் முறைகள் மற்றும் பண்புகளை மேலெழுத அனுமதிக்கும் செருகுநிரல்களைப் பராமரிக்கவும்). எனவே, எடுத்துக்காட்டாக, உங்களிடம் இணைய பயன்பாடு இருந்தால், நீங்கள் ஒரு செருகுநிரல் பதிவேட்டை வைத்திருக்கலாம் மற்றும் நீங்கள் இங்கே செருகுநிரல்களை செயல்படுத்தலாம். Dog_bark_beforeEvent () செயல்பாட்டையும் கவனியுங்கள். நான் $ mixed = "BLOCK_EVENT" என்பதை ரிட்டர்ன் ஸ்டேட்மென்ட்டுக்கு முன் அமைத்தால், அது நாய் குரைப்பதைத் தடுக்கும், மேலும் Dog_bark_afterEvent ஐத் தடுக்கும், ஏனெனில் எந்த நிகழ்வும் இருக்காது.

பகுதி 4 இல், இது ஒரு சாதாரண ஆப்கோட், ஆனால் நீங்கள் நினைப்பது இதுபோல் வேலை செய்யாது என்பதை நினைவில் கொள்ளவும். உதாரணமாக, ஒரு நாய் அவரை "ஃபிடோ" என்ற பெயரில் உச்சரிக்காது, ஆனால் "கோகோ". நாய் மியாவ் என்று சொல்லவில்லை, ஆனால் ஹூஃப். மேலும் நாயின் பெயரைப் பிறகு பார்க்கும்போது, ​​அது "கோகோ" அல்ல, "இதர" என்பதை நீங்கள் காண்பீர்கள். இந்த மீறல்கள் அனைத்தும் பகுதி 3 இல் அறிமுகப்படுத்தப்பட்டன.

அது எப்படி வேலை செய்கிறது? சரி, ஏவல் () (அனைவரும் "தீமை" என்று கூறுகிறார்கள்) மற்றும் இது ஒரு அப்சர்வர் பேட்டர்ன் அல்ல என்பதை நிராகரிப்போம். எனவே இது செயல்படும் விதம், நாய் வகுப்பால் பயன்படுத்தப்படும் முறைகள் மற்றும் பண்புகளைக் கொண்டிருக்காத, Pluggable எனப்படும் மறைக்கப்பட்ட வெற்று வகுப்பில் உள்ளது. இவ்வாறு நடக்கும்போது, ​​நமக்கு மந்திர முறைகள் கையாளப்படும். எனவே, பாகங்கள் 3 மற்றும் 4 இல், நாங்கள் சொருகக்கூடிய வகுப்பிலிருந்து பெறப்பட்ட ஒரு பொருளை இணைக்கிறோம், நாய் வகுப்போடு அல்ல. அதற்கு பதிலாக, செருகுநிரல் வகுப்பை நாய் பொருளை "தொட" அனுமதிக்கிறோம். (இது எனக்கு தெரியாத வடிவமைப்பு என்றால், எனக்கு தெரியப்படுத்தவும்.)

ஹூக் மற்றும் கேட்போர் முறை மிகவும் பொதுவாகப் பயன்படுத்தப்படுகிறது, ஆனால் நீங்கள் செய்யக்கூடிய மற்ற விஷயங்கள் உள்ளன. உங்கள் பயன்பாட்டின் அளவைப் பொறுத்து, குறியீட்டை யார் பார்க்க விரும்புகிறார்கள் (இது FOSS ஸ்கிரிப்டாக இருக்கும், அல்லது வீட்டில் இருக்கும் எதுவாக இருந்தாலும்) நீங்கள் செருகுநிரல்களை எவ்வாறு தீர்க்க விரும்புகிறீர்கள் என்பதைப் பெரிதும் பாதிக்கும்.

kdeloach ஒரு நல்ல உதாரணம் உள்ளது, ஆனால் அதன் செயல்படுத்தல் மற்றும் ஹூக் செயல்பாடு சற்று பாதுகாப்பற்றது. உங்கள் கடிதத்திற்கான php பயன்பாட்டின் தன்மை மற்றும் செருகுநிரல்களை நீங்கள் எவ்வாறு பார்க்கிறீர்கள் என்பது பற்றிய கூடுதல் தகவலை நான் உங்களிடம் கேட்கிறேன்.

என்னிடமிருந்து kdeloach செய்ய 1.

நான் பயன்படுத்திய அணுகுமுறை இங்கே உள்ளது, இது Qt சிக்னல் / ஸ்லாட் பொறிமுறையிலிருந்து நகலெடுக்க முயற்சிக்கிறது, இது ஒரு வகையான அப்சர்வர் பேட்டர்ன். பொருள்கள் சமிக்ஞைகளை வெளியிடலாம். ஒவ்வொரு சிக்னலும் கணினியில் ஒரு அடையாளங்காட்டியைக் கொண்டுள்ளது - இது அனுப்புனர் பொருளின் ஐடி + ஐக் கொண்டுள்ளது, ஒவ்வொரு சிக்னலும் பெறுநர்களுடன் பிணைக்கப்படலாம், இது வெறுமனே "அழைக்கக்கூடியது", நீங்கள் ஒரு பஸ் வகுப்பைப் பயன்படுத்தி அவற்றைப் பெற ஆர்வமுள்ள எவருக்கும் சிக்னல்களை அனுப்பலாம். ஏதோ நடக்கிறது, நீங்கள் ஒரு சமிக்ஞையை அனுப்புகிறீர்கள். கீழே ஒரு எடுத்துக்காட்டு மற்றும் செயல்படுத்தல் எடுத்துக்காட்டு

உள்நுழைய (); ?>

ஜெஃப்பின் ஆலோசனையைப் பின்பற்றி, ஏற்கனவே உள்ள குறியீட்டைப் பார்ப்பதே எளிதான வழி என்று நான் கருதுகிறேன். வேர்ட்பிரஸ், Drupal, Joomla மற்றும் பிற நன்கு அறியப்பட்ட PHP-CMSகளின் APIகள் எவ்வாறு தோற்றமளிக்கின்றன மற்றும் உணர்கின்றன என்பதைப் பார்க்க முயற்சிக்கவும். இந்த வழியில், விஷயங்களை கொஞ்சம் தடிமனாக மாற்றுவதற்கு முன்பு நீங்கள் நினைக்காத யோசனைகளையும் நீங்கள் பெறலாம்.

பயன்பாட்டினை உறுதி செய்வதற்காக அவை உள்ளடக்கிய கோப்பில் சேர்க்கப்படும் பொதுவான கோப்புகளை எழுதுவதே மிகவும் நேரடியான பதில். இது வகைப்படுத்தப்படும் மற்றும் ஒரு "hooks.php" மகத்தான கோப்பில் வழங்கப்படாது. கவனமாக இருங்கள், ஏனென்றால் அவை உள்ளடக்கிய கோப்புகள் இறுதியில் மேலும் மேலும் சார்புகள் மற்றும் செயல்பாடுகளைக் கொண்டிருக்கும். API சார்புநிலையை கட்டுப்படுத்த முயற்சிக்கவும். I.E குறைவான கோப்புகள் சேர்க்க வேண்டும்.

என்று ஒரு நேர்த்தியான திட்டம் உள்ளது