Plugin de devis aléatoire avec type de message personnalisé

C’est la deuxième partie de la création d’un plug-in de devis aléatoire, mais cette fois-ci avec des types de publication personnalisés..


Dans cette deuxième version du plugin random quote, nous allons un peu plus loin et utilisons quelques outils et fonctions supplémentaires. Des types de publication personnalisés sont disponibles depuis WordPress v3.0. Ils permettent aux développeurs d'ajouter différents types de contenu à leurs plug-ins et à leurs thèmes, ce qui vous permet d'étendre facilement les fonctionnalités du CMS de WordPress..

Vous pouvez trouver la première version du plugin ici. Si vous débutez avec le développement de plugins ou si vous souhaitez un rafraîchissement rapide, il est recommandé de le lire en premier..


1. Données de base

Ce sont les données nécessaires pour chaque plugin. Des choses simples comme l'auteur, le nom du plugin, la description, etc..

 

2. Enregistrer un type de message personnalisé

Avant que nous puissions utiliser le type de message personnalisé à citation aléatoire, nous devons le définir. Dans le tableau d'étiquettes, les noms singulier et pluriel du nom sont nécessaires. Le commutateur public défini sur true permet aux utilisateurs d'utiliser le type de publication sur l'administrateur. le has_archive définit l'option d'utilisation des archives de types de publication.

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

3. Création d'une interface d'administration

Avec project_edit_columns et project_custom_columns fonction, nous pouvons créer une interface d'administration modifiée pour le type de message personnalisé en utilisant le La personne et Citation champs (en remplaçant le titre et la description). Ces deux fonctions sont nécessaires pour faire le travail.

  ""," title "=>" Personne "," description "=>" Citation ",); return $ colonnes; add_action (" manage_posts_custom_column "," project_custom_column "); fonction project_custom_columns ($ column) global $ post; switch ($ column) case "description": the_excerpt (); break;?>

Ceci est une image du plugin final.


4. Obtenir un devis aléatoire de la base de données

Avec le WP_Query classe, nous pouvons obtenir un élément aléatoire à partir des messages personnalisés. Comme nous ne récupérons qu'un élément, nous n'avons pas besoin d'une boucle standard. La définition de ces trois arguments est obligatoire. le $ quo La variable aide à créer une chaîne basée sur la citation et son auteur, qui peut générer un exemple comme celui-ci:

"Je ne pense jamais à l'avenir. Il arrive assez tôt."
~ Albert Einstein

  'random_quote', 'posts_per_page' => 1, 'orderby' => 'rand'); $ query = new WP_Query ($ args); // Construit la chaîne de sortie $ quo = "; $ quo. = $ Query-> post-> post_title; $ quo. = 'Said"'; $ quo. = $ query-> post-> post_content; $ quo. = '"'; return $ quo;?>

5. Affectation du devis à l'élément de description de blog

Pour attacher la citation générée à sa place, nous utilisons une fonction d'assistance, puis nous substituons le filtre par défaut (bloginfo)..

 

6. Code final

Voici ce que nous avons fait, juste un fichier.

  array ('name' => __ ('Random Quotes'), 'singular_name' => __ ('Random Quote')), 'public' => true, 'has_archive' => true,));  // Créer une interface d'administration add_filter ("manage_edit-random_quote_columns", "ab_arq_project_edit_columns"); fonction ab_arq_project_edit_columns ($ columns) $ columns = array ("cb" => ""," title "=>" Personne "," description "=>" Citation ",); return $ colonnes; add_action (" manage_posts_custom_column "," ab_arq_project_custom_columns "); fonction ab_arq_project_custom_columns ($ column) $ $ post; switch ($ column) case "description": the_excerpt (); break; // Fonction principale à obtenir des guillemets function ab_arq_generate () // Récupère un guillemet aléatoire $ args = array ('post_type' => 'random_quote', 'posts_per_page' => 1, 'orderby' => 'rand'); $ query = new WP_Query ($ args); // Construit la chaîne de sortie $ quo = "; $ quo. = $ query-> post-> post_title; $ quo. = 'said "'; $ quo. = $ query-> post-> post_content; $ quo. = =" "; return $ quo;  // Fonction d'assistance fonction ab_arq_change_bloginfo ($ text, $ show) if ('description' == $ show) $ text = ab_arq_generate ();  return $ text;  // Remplacer le filtre par défaut par le nouveau générateur de devis add_filter ('bloginfo', 'ab_arq_change_bloginfo', 10, 2); ?>

7. Résumé

En quelques étapes supplémentaires, nous avons créé un système de stockage beaucoup plus flexible avec l’utilisation de messages personnalisés. Veuillez toutefois noter que si vous désactivez ou supprimez le plug-in, les guillemets (messages personnalisés) resteront dans la base de données WordPress. Si vous voulez que ceux-ci soient supprimés, vous devez étendre ce plugin en conséquence.