Plugin di quotazione casuale con tipo di messaggio personalizzato

Questa è la seconda parte della creazione di un plugin di quotazione casuale, ma questa volta con tipi di post personalizzati.


In questa seconda versione del plugin di quote casuali ci spostiamo un po 'oltre e usiamo alcuni più strumenti e funzioni. I tipi di messaggi personalizzati sono disponibili da WordPress v3.0. Consentono agli sviluppatori di aggiungere diversi tipi di contenuti ai loro plug-in e temi e con ciò è possibile estendere facilmente la funzionalità CMS di WordPress.

Puoi trovare la prima versione del plugin qui. Se hai appena iniziato lo sviluppo di plug-in o desideri un aggiornamento rapido, ti consigliamo di leggerlo per primo.


1. Dati di base

Questo è il dato necessario per ogni plugin. Cose semplici come autore, nome del plugin, descrizione e così via.

 

2. Registra il tipo di messaggio personalizzato

Prima di poter usare il tipo di post personalizzato del preventivo casuale, dobbiamo impostarlo. Nell'array delle etichette è necessaria la forma singolare e plurale del nome. L'opzione pubblica impostata su true consente agli utenti di utilizzare il tipo di post nell'amministratore. Il has_archive imposta l'opzione per utilizzare l'archivio dei tipi di post.

  array ('name' => __ ('Random Quotes'), 'singular_name' => __ ('Random Quote')), 'public' => true, 'has_archive' => true,)); ?>

3. Creazione dell'interfaccia amministrativa

Con project_edit_columns e project_custom_columns funzione possiamo creare un'interfaccia di amministrazione modificata per il tipo di post personalizzato utilizzando il Persona e Citazione campi (sovrascrivendo titolo e descrizione). Entrambe queste due funzioni sono necessarie per portare a termine il lavoro.

  ""," title "=>" Person "," description "=>" Quote ",); return $ columns; add_action (" manage_posts_custom_column "," project_custom_columns "); function project_custom_columns ($ column) global $ post; ($ column) case "description": the_excerpt (); break;?>

Questa è una foto del plugin finale.


4. Ottieni una quotazione casuale dal database

Con il WP_Query classe possiamo ottenere un elemento casuale dai post personalizzati. Poiché recuperiamo solo un elemento, non è necessario un ciclo standard. L'impostazione di questi tre argomenti è obbligatoria. Il $ quo variable aiuta a creare una stringa basata sulla citazione e sul suo autore che può generare un esempio come questo:

"Non penso mai al futuro, arriva abbastanza presto."
~ Albert Einstein

  'random_quote', 'posts_per_page' => 1, 'orderby' => 'rand'); $ query = new WP_Query ($ args); // Crea stringa di output $ quo = "; $ quo. = $ Query-> post-> post_title; $ quo. = 'Said"'; $ quo. = $ query-> post-> post_content; $ quo. = '"'; return $ quo;?>

5. Assegnazione del preventivo all'elemento descrittivo del blog

Per collegare la citazione generata al suo posto utilizziamo una funzione di supporto, e dopo di ciò sostituiamo il filtro predefinito (bloginfo).

 

6. Codice finale

Ecco cosa abbiamo fatto, un solo file.

  array ('name' => __ ('Random Quotes'), 'singular_name' => __ ('Random Quote')), 'public' => true, 'has_archive' => true,));  // Crea l'interfaccia di amministrazione add_filter ("manage_edit-random_quote_columns", "ab_arq_project_edit_columns"); function ab_arq_project_edit_columns ($ columns) $ columns = array ("cb" => ""," title "=>" Person "," description "=>" Quote ",); return $ columns; add_action (" manage_posts_custom_column "," ab_arq_project_custom_columns "); function ab_arq_project_custom_columns ($ column) global $ post; ($ column) case "description": the_excerpt (); break; // Main function per ottenere le virgolette function ab_arq_generate () // Richiama una citazione casuale $ args = array ('post_type' => 'random_quote', 'posts_per_page' => 1, 'orderby' => 'rand'); $ query = new WP_Query ($ args); // Costruisci stringa di output $ quo = "; $ quo. = $ query-> post-> post_title; $ quo. = 'said "'; $ quo. = $ query-> post-> post_content; $ quo. = '"' '; ritorno $ quo;  // Funzione funzione di supporto ab_arq_change_bloginfo ($ text, $ show) if ('description' == $ show) $ text = ab_arq_generate ();  return $ text;  // Sostituisce il filtro predefinito con il nuovo generatore di quote add_filter ('bloginfo', 'ab_arq_change_bloginfo', 10, 2); ?>

7. Riepilogo

In pochi passaggi aggiuntivi abbiamo creato un sistema di archiviazione molto più flessibile con l'uso di post personalizzati, tuttavia tieni presente che se disattivi o elimini il plug-in, le virgolette (post personalizzati) rimarranno nel database di WordPress. Se vuoi che vengano cancellati devi estendere questo plugin di conseguenza.