Durante la lettura di articoli su siti Web, ho scoperto che quando un post ha più di quattro anni, una notifica che informa che il post è vecchio viene visualizzata su determinati siti web. Una notifica simile si trova anche nella directory dei plugin di WordPress quando un plugin non è stato aggiornato in oltre due anni.
In questo articolo, costruiremo un plug-in che visualizza una notifica simile quando un post è finito X-anni vecchio dove "X"un numero intero che indica il numero di anni che definisce vecchio.
Il plug-in ti fornirà la possibilità di specificare la tua frase di notifica personalizzata e il numero di anni prima che un post sia considerato vecchio.
Questo plugin sarà costruito utilizzando la programmazione orientata agli oggetti nel tentativo di rendere il codice più organizzato e aderire al principio DRY. Come tale, è necessaria una certa esperienza con la programmazione orientata agli oggetti per comprendere questo tutorial.
Il plugin sarà composto da due protetta
proprietà di classe e dieci metodi. Le proprietà sono descritte di seguito.
$ _notification
memorizza il messaggio di notifica recuperato dal database precedentemente impostato dall'utente del plugin.$ _Anni
memorizza il numero di anni recuperati dal database.Spiegherò il ruolo di ciascun metodo (noto come funzioni nella programmazione procedurale) e il loro rispettivo codice durante il viaggio.
Innanzitutto, includiamo l'intestazione del plugin, crea il classe
e definire le proprietà:
Durante la scrittura di plugin WordPress in OOP, tutti i hook di azione e filtro possono essere impostati nel costruttore (che viene chiamato
__costruire
). Il metodo di costruzione del nostro plugin comprende cinque funzioni: tre hook di azione, un hook di filtro e unregister_activation_hook
funzione.function __construct () // Inizializza le opzioni di impostazione sull'attivazione register_activation_hook (__FILE__, array ($ this, 'aop_settings_default_values')); // registra Menu add_action ('admin_menu', array ($ this, 'aop_settings_menu')); // hook plugin section e field a admin_init add_action ('admin_init', array ($ this, 'pluginOption')); // aggiungi il foglio di stile del plugin all'intestazione add_action ('wp_head', array ($ this, 'stylesheet')); // mostra la notifica sopra il post add_filter ('the_content', array ($ this, 'displayNotification'));
register_activation_hook
chiama il metodo per impostare le impostazioni predefinite del plugin all'attivazione.add_action
le funzioni richiamano le funzioni di hook per registrare il menu del plugin, agganciare la sezione plugin e il campo a admin_init
e aggiungi rispettivamente il foglio di stile del plugin all'intestazione.add_filter
chiama il displayNotification
metodo che visualizza la notifica quando un post è vecchio.Guardando il __costruire
metodo sopra, il register_activation_hook
la funzione chiama il aop_settings_default_values
metodo per impostare le impostazioni del plug-in predefinito.
public function aop_settings_default_values () $ aop_plugin_options = array ('notification' => 'Questo post non è stato aggiornato in oltre 2 anni.', 'years' => 2); update_option ('apo_alert_old_post', $ aop_plugin_options);
Il aop_settings_menu
metodo crea il sottomenu del plugin sotto l'esistente impostazioni menu.
funzione pubblica 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'));
Il terzo argomento è passato al add_options_page
la funzione sopra è il alert_post_old_function
metodo che mostra il contenuto della pagina delle impostazioni del plugin.
funzione pubblica alert_post_old_function () echo ''; screen_icon (); eco 'Alert Post è vecchio
'; eco '