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.
Dit zijn de gegevens die nodig zijn voor elke plug-in. Simpele dingen zoals auteur, pluginnaam, beschrijving enzovoort.
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,)); ?>
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.
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;?>
Om de gegenereerde quote op zijn plaats te bevestigen, gebruiken we een helperfunctie en daarna vervangen we het standaardfilter (bloginfo).
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; ?>
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.