Come creare il tuo plugin WordPress personale

Pubblicato: 2016-07-13

Può sembrare un'impresa enorme creare un plugin per WordPress. In alcuni casi questo è vero: alcuni plugin possono essere incredibilmente complessi. Ma a seconda delle funzionalità che stai cercando di aggiungere, molte sono in realtà abbastanza semplici da costruire. La creazione di un plug-in può essere eseguita rapidamente con una comprensione di base di come funziona.

Dove vanno i plugin?

Struttura delle cartelle di WordPress

Prima che inizi lo sviluppo, è bene sapere dove appartengono i plugin. Diamo un'occhiata alla struttura delle cartelle di WordPress nelle directory dell'app di base. All'interno della cartella wp-content , vedrai una directory dei plugin. È qui che vivranno tutti i tuoi singoli plugin.

I plugin in questa cartella possono essere file singoli o in sottodirectory. I plugin più piccoli in genere richiedono solo un singolo file .php. I plugin complessi possono avere più tipi di file (HTML, CSS e JavaScript sono tutte possibilità). La creazione di una sottodirectory è utile per ospitare i vari file insieme alle funzioni .php del plugin.

how-to-build-wordpress-plugin-plugin-file-path

Azioni e filtri

Prima che inizi la creazione del plug-in, è bene conoscere alcune nozioni di base per iniziare. Quando inizi a programmare i tuoi plugin, un buon punto di partenza è imparare come funzionano le azioni e i filtri. Conoscere le basi sarà utile e poiché hai più domande a riguardo, il Codice di WordPress è un'ottima risorsa.

Prima dello sviluppo del plugin

Le meta informazioni sono incredibilmente importanti e sono anche le informazioni che raccontano i dettagli di WordPress sul plug-in. I plugin hanno opzioni da installare, eliminare, attivare e disattivare. Tecnicamente, tutto ciò di cui hai bisogno è il nome del plug-in per WordPress per stabilire il tuo file come plug-in. Tuttavia, è buona norma fornire le altre informazioni in quanto saranno utili a te e ai tuoi utenti.

<?php

/**

* Plugin Name: Example Plugin

* Plugin URI: http://mysite.com/

* Description: A brief description about your plugin.

* Version: 1.0 (or whatever current version your plugin is on)

* Author: Plugin Author's Name

* Author URI: Author's website

* License: A "Slug" license name e.g. GPL12

*/

Un plugin molto semplice

Iniziare in piccolo è un buon modo per facilitare la creazione di plug-in. Creiamo un esempio molto semplice. Azioni e filtri fanno accadere le cose, quindi aggiungiamo una riga di testo dopo tutti i post per testare le cose.

È sempre utile lavorare in un ambiente di sviluppo, e questo è particolarmente importante quando si sperimentano i plugin.

Innanzitutto, crea un nuovo file e assicurati che sia nella posizione corretta. Copia e incolla questo codice nel file del plug-in principale e salvalo. Questo viene incollato dopo le meta informazioni.

add_action( 'the_content', 'test_example_text' );

function test_example_text ( $content ) {
    return $content .= '<p>This is my first plugin!</p>';
}

Questo è un esempio di gancio al lavoro. Collegandosi all'azione the_content , funziona quando WordPress esegue il rendering del contenuto del post. WordPress chiama la funzione test_example_text che è definita sotto la add_action call .

Vedere il plugin in azione

Probabilmente l'hai già fatto in precedenza, ma una volta effettuato l'accesso all'amministratore di WordPress, vedrai l'opzione del plug-in sulla sinistra. Il nostro plugin si presenta e ora deve essere attivato. Una volta attivato, compare alla fine del post.

come-build-wordpress-plugin-elenco-plugin

how-to-build-wordpress-plugin-first-plugin

Un plugin più complesso

Quindi questo esempio mostra le basi di come funzionano i plugin, ma cosa succede se vuoi fare qualcosa di un po' più utile? I tipi di post personalizzati vengono utilizzati abbastanza frequentemente nella progettazione di siti personalizzati, quindi iniziamo con quello. Esistono plug-in esistenti che puoi utilizzare, ma crearne uno da zero è un buon modo per facilitare lo sviluppo dei plug-in.

Che cos'è il tipo di post personalizzato in WordPress?

Le pagine e i post sono i tipi di contenuto più popolari in WordPress, ma cosa succede se si desidera qualcosa di più specifico? Pagine e post potrebbero essere troppo generici in alcune circostanze, motivo per cui un tipo di post personalizzato diventa utile. Un buon esempio è un tipo di portafoglio di post personalizzato. L'idea è quella di creare un post normale con un valore di tipo di post diverso allegato.

Come creare un sito portfolio su WordPress

Avere una pagina portfolio su un sito Web può essere utilizzata per tante cose. Per definizione, è qualcosa utilizzato per contenere materiali come carte, mappe, disegni, foto, ecc. Un portafoglio in termini finanziari fa riferimento ...

Puoi chiamare i tuoi tipi di post personalizzati come preferisci. Ad esempio, se gestisci un sito di cibo, puoi creare un pratico tipo di post di ricetta. Questo tipo di post può avere diversi campi personalizzati con la propria struttura di categorie personalizzate.

Creazione di tipi di post personalizzati

La prima cosa che devi fare è effettivamente creare il tipo di post personalizzato. Usando la stessa struttura di file di cui sopra, aggiungiamo la nostra cartella e il file .php. Supponendo che le metainformazioni siano state create, aggiungeremo la nostra funzionalità dopo il metablocco.

Creeremo un plug-in per un tipo di post personalizzato chiamato "Ricette" per dimostrare le basi della creazione di un plug-in più complesso.

La versione base

Se dai un'occhiata allo snippet qui sotto, all'inizio è abbastanza semplice. Vedremo un tipo di post personalizzato nel menu a sinistra per assicurarci che funzioni. register_post_type() viene utilizzato in una funzione che si aggancia all'azione init . Ci sono due argomenti che sono il tipo di post personalizzato e un array di argomenti.

function recipe_custom_post_type() {
	register_post_type( 'recipe', array( 'public' => true, 'label' => 'Recipes' ) );
}
add_action( 'init', 'recipe_custom_post_type' );

how-to-build-wordpress-plugin-custom-post-type-01

La versione avanzata

Questa versione base del plugin funzionerà davvero, tuttavia, sono necessarie più funzionalità per renderlo davvero meraviglioso. Ad esempio, le etichette continuano a leggere "Aggiungi nuovo post". Vogliamo che questo sia più specifico per la ricetta; dopotutto, questo è il motivo per cui non stiamo usando solo un semplice post. Le personalizzazioni possono essere effettuate utilizzando la proprietà delle etichette.

come-creare-plugin-wordpress-aggiungi-nuovo-post

Ora, grattiamo ciò che abbiamo appena fatto e usiamo questo invece:

add_action( 'init', 'recipe_custom_post_type' );
add_filter( 'post_updated_messages', 'recipes_messages' );

function recipe_custom_post_type() {
	$labels = array(
		'name'               => 'Recipes',
		'singular_name'      => 'Recipe',
		'menu_name'          => 'Recipe',
		'name_admin_bar'     => 'Recipe',
		'add_new'            => 'Add New',
		'add_new_item'       => 'Add New Recipe',
		'new_item'           => 'New Recipe',
		'edit_item'          => 'Edit Recipe',
		'view_item'          => 'View Recipe',
		'all_items'          => 'All Recipes',
		'search_items'       => 'Search Recipes',
		'parent_item_colon'  => 'Parent Recipes:',
		'not_found'          => 'No recipes found.',
		'not_found_in_trash' => 'No recipes found in Trash.'
	);

	$args = array( 
		'public'      => true, 
		'labels'      => $labels,
		'rewrite'		=> array( 'slug' => 'recipe' ),
		'has_archive'   => true,
		'menu_position' => 20,
		'menu_icon'     => 'dashicons-carrot',
		'taxonomies'		=> array( 'post_tag', 'category' ),
		'supports'      => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'custom-fields', 'comments' )
	);
    	register_post_type( 'recipe', $args );
}

function recipes_messages( $messages ) {
	$post = get_post();

	$messages['recipe'] = array(
		0  => '',
		1  => 'Recipe updated.',
		2  => 'Custom field updated.',
		3  => 'Custom field deleted.',
		4  => 'Recipe updated.',
		5  => isset( $_GET['revision'] ) ? sprintf( 'Recipe restored to revision from %s',wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
		6  => 'Recipe published.',
		7  => 'Recipe saved.',
		8  => 'Recipe submitted.',
		9  => sprintf(
			'Recipe scheduled for: <strong>%1$s</strong>.',
			date_i18n( 'M j, Y @ G:i', strtotime( $post->post_date ) )
		),
		10 => 'Recipe draft updated.'
	);

	return $messages;
}


come-creare-plugin-wordpress-aggiungi-nuova-ricetta

Vedi come il testo in alto ora legge "Aggiungi nuova ricetta"? L'abbiamo realizzato personalizzando "aggiungi nuovo elemento" con il testo desiderato.

How-to-build-wordpress-plugin-ui-elements

come-costruire-post-ricetta-plugin-wordpress

C'è molto da fare qui e le cose diventano piuttosto dettagliate quando si lavora con gli argomenti. Uno che è visivamente ovvio è la proprietà dei supports . Qui abbiamo dichiarato che un titolo, editore, autore, miniatura, estratto, campi personalizzati e commenti devono essere inclusi. Questi sono mostrati nell'interfaccia utente dell'amministratore e anche su alcune parti del front-end. La proprietà tassonomie consente di assegnare tassonomie personalizzate al tipo di post personalizzato.

how-to-build-wordpress-plugin-ui-new

Messaggi di interazione di tipo post

Ogni volta che salvi, elimini, cerchi, ecc., ricevi un messaggio predefinito. Nella nostra funzione recipes_messages , c'è un elenco di questi messaggi. Definire l'array per il tipo di post personalizzato con i messaggi appropriati assicurerà che le cose si leggano come preferisci per il tipo di post personalizzato. Le cose sembrano molto specifiche per la ricetta con la dicitura, quindi questo va d'accordo con il tipo di post personalizzato.

come-build-wordpress-plugin-ricetta-testo

Una volta completato il plug-in, puoi pubblicarlo nella directory dei plug-in di WordPress in modo che anche altri possano scaricarlo. In questo caso, includere un readme.txt è utile per coloro che cercano un plug-in come il tuo. Fondamentalmente, questo file includerà il tuo nome e ciò che fa il plug-in, ma potresti anche includere dettagli su ciascuna revisione e specifiche sugli aggiornamenti.

Come puoi vedere, i plugin possono essere molto semplici o complessi. La creazione di un plug-in non è così complicata come potrebbe sembrare a prima vista ed è una buona abitudine da prendere quando si sviluppano siti WordPress. Consentono una facile organizzazione e la possibilità di riutilizzarli su più siti, rendendo più efficiente lo sviluppo di WordPress.

come-build-wordpress-plugin-ebook-cta