Willekeurige citaatplugin met Aangepast Posttype

Dit is het tweede deel van het maken van een willekeurige citaat-plug-in, maar dit keer met aangepaste berichttypen.


In deze tweede versie van de plug-in voor willekeurige citaten gaan we iets verder en gebruiken we wat meer hulpmiddelen en functies. Aangepaste berichttypen zijn beschikbaar sinds WordPress v3.0. Hiermee kunnen ontwikkelaars verschillende soorten inhoud toevoegen aan hun plug-ins en thema's en daarmee kunt u WordPress 'CMS-functionaliteit eenvoudig uitbreiden.

U kunt hier de eerste versie van de plug-in vinden. Als u net begint met het ontwikkelen van een plug-in of een snelle vernieuwing wilt, is het aan te raden om dat eerst te lezen.


1. Basisgegevens

Dit zijn de gegevens die nodig zijn voor elke plug-in. Simpele dingen zoals auteur, pluginnaam, beschrijving enzovoort.

 

2. Registreer Aangepast berichttype

Voordat we het aangepaste berichttype op maat kunnen gebruiken, moeten we het instellen. In de labels-array is de enkel- en meervoudsvorm van de naam nodig. Met de openbare schakelaar die is ingesteld op 'waar', kunnen de gebruikers het berichttype op de beheerder gebruiken. De has_archive stelt de optie in om het archief van berichttypen te gebruiken.

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

3. Admin-interface maken

Met project_edit_columns en project_custom_columns functie kunnen we een aangepaste beheerdersinterface maken voor het aangepaste berichttype met behulp van de Persoon en Citaat velden (overschrijft de titel en beschrijving). Beide functies zijn nodig om de klus te klaren.

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

Dit is een foto van de laatste plugin.


4. Krijg één willekeurige quote uit de database

Met de WP_Query klasse kunnen we een willekeurig element uit de aangepaste berichten halen. Omdat we slechts één element ophalen, hebben we geen standaardlus nodig. Het instellen van deze drie argumenten is verplicht. De $ quo variabele helpt bij het maken van een tekenreeks op basis van het citaat en de auteur die een voorbeeld als dit kan genereren:

"Ik denk nooit aan de toekomst, het komt snel genoeg."
~ Albert Einstein

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

5. De quote toewijzen aan het blogbeschrijvingelement

Om de gegenereerde quote op zijn plaats te bevestigen, gebruiken we een helperfunctie en daarna vervangen we het standaardfilter (bloginfo).

 

6. Eindcode

Dit is wat we hebben gedaan, slechts één bestand.

  array ('name' => __ ('Random Quotes'), 'singular_name' => __ ('Random Quote')), 'public' => true, 'has_archive' => true,));  // Create admin interface add_filter ("manage_edit-random_quote_columns", "ab_arq_project_edit_columns"); function ab_arq_project_edit_columns ($ columns) $ columns = array ("cb" => ""," title "=>" Persoon "," description "=>" Quote ",); return $ columns; add_action (" manage_posts_custom_column "," ab_arq_project_custom_columns "); function ab_arq_project_custom_columns ($ column) global $ post; switch ($ column) case "description": the_excerpt (); break; // Hoofdfunctie om de functie offertes te krijgen ab_arq_generate () // Een willekeurig citaat ophalen $ args = array ('post_type' => 'random_quote', 'posts_per_page' => 1, 'orderby' => 'rand'); $ query = nieuwe WP_Query ($ args); // Build output string $ quo = "; $ quo. = $ query-> post-> post_title; $ quo. = 'said "'; $ quo. = $ query-> post-> post_content; $ quo. = '"'; return $ quo;  // Helper-functie ab_arq_change_bloginfo ($ text, $ show) if ('description' == $ show) $ text = ab_arq_generate ();  return $ tekst;  // Standaardfilter met de nieuwe quote generator add_filter ('bloginfo', 'ab_arq_change_bloginfo', 10, 2) overschrijven; ?>

7. Samenvatting

In slechts een paar extra stappen creëerden we een veel flexibeler opslagsysteem met het gebruik van aangepaste berichten. Houd er echter rekening mee dat als u de plug-in deactiveert of verwijdert, de aanhalingstekens (aangepaste berichten) in de WordPress-database blijven. Als u wilt dat deze worden verwijderd, moet u deze plug-in dienovereenkomstig uitbreiden.