În timp ce citesc articole pe site-uri web, am constatat că atunci când o postare are peste patru ani, o notificare care afirmă că postul este veche este afișată pe anumite site-uri web. O notificare similară se găsește și în directorul plugin WordPress atunci când un plugin nu a fost actualizat în peste doi ani.
În acest articol, vom construi un plugin care afișează o notificare similară la încheierea unui post X-ani vechi unde "X"un număr întreg care denotă numărul de ani care definesc vechiul.
Pluginul vă va oferi opțiunea de a specifica propria propoziție de notificare personalizată și numărul de ani înainte ca o postare să fie considerată veche.
Acest plugin va fi construit folosind programe orientate pe obiecte, în încercarea de a face codul mai organizat și de a respecta principiul DRY. Ca atare, este nevoie de o anumită experiență cu programarea orientată pe obiecte, dacă trebuie să înțelegeți acest tutorial.
Pluginul va consta din două protejat
proprietăți de clasă și zece metode. Proprietățile sunt descrise mai jos.
$ _notification
stochează mesajul de notificare preluat din baza de date stabilită anterior de utilizatorul pluginului.$ _years
stochează numărul de ani extrași din baza de date.Voi explica rolul fiecărei metode (cunoscute ca și funcții în programarea procedurală) și codul lor în timp ce călătorim.
Mai întâi, să includeți antetul pluginului, să creați clasă
și defini proprietățile:
Când scrieți pluginurile WordPress în OOP, toate acțiunile și cârligele de filtrare pot fi setate în constructor (care este numit
__construi
). Metoda constructorului plugin-ului nostru va consta în cinci funcții: trei cârlige de acțiune, un cârlig de filtrare și un aregister_activation_hook
funcţie.funcția __construct () // Inițializarea opțiunilor de setare la activare register_activation_hook (__FILE__, array ($ this, 'aop_settings_default_values')); // înregistrați meniul add_action ('admin_menu', array ($ this, 'aop_settings_menu')); / / hook plugin și secțiunea pentru admin_init add_action ('admin_init', array ($ this, 'pluginOption')); // adăugați foaia de stil pentru plugin-uri la header add_action ('wp_head', array ($ this, 'stylesheet')); // afișați notificarea deasupra postului add_filter ('the_content', array ($ this, 'displayNotification'));
register_activation_hook
apelează metoda pentru a seta setările prestabilite ale pluginului la activare.ADD_ACTION
funcții apel funcțiile de cârlig pentru a înregistra meniul plugin-ului, cârlig de secțiune plugin și câmp la admin_init
și adăugați foaia de stil a plugin-ului respectiv la antet.add_filter
suna displayNotification
care afișează notificarea atunci când o postare este veche.Privind la __construi
metoda de mai sus, register_activation_hook
funcția solicită aop_settings_default_values
pentru a seta setările implicite pentru plugin.
funcția publică aop_settings_default_values () $ aop_plugin_options = array ('notification' => 'Acest post nu a fost actualizat în mai mult de 2 ani.', 'years' => 2); update_option ('apo_alert_old_post', $ aop_plugin_options);
aop_settings_menu
metoda creează submeniul de plugin sub existența Setări meniul.
funcția publică aop_settings_menu () add_options_page ('Alert Post is Old', 'Alert Post is Old', 'manage_options', 'aop-alert-post-old', array ($ this, 'alert_post_old_function'));
Al treilea argument a fost transmis add_options_page
funcția de mai sus este alert_post_old_function
care afișează conținutul paginii din setările pluginului.
funcția publică alert_post_old_function () echo '„; screen_icon (); echo "Mesajul de avertizare este vechi
„; echo "