Cliquez

Bibliothèque pour WordPress. Comment puis-je faylohranilische

J'ai décidé de refaire le page avec les livres sur son site Internet, profitant de l'accès à MySQL, qui est encore utilisé dans WordPress. L'essence de la modification est assez simple - pour créer une fonction qui, à trouver le corps de la balise page spécifique, il serait un substitut à certaines informations de la base de données WordPress. La base de données, à son tour, peut être quelque chose, dans mon cas - les descriptions et les liens vers les fichiers de livres présentés dans la "Bibliothèque". Compliqué d'écrire une telle fonction est rien, sur ce principe par les plugins façon de travailler beaucoup, comme les vidéos ou la musique intégrer sur la page.

Le principe de fonctionnement de la fonction Insérer des données à une page

Si vous l'appelez dans la boucle parcourt la liste des attributs de la balise, puis pour chaque requêtes attribuer à la base de données MySQL, l'échantillon analyse et renvoie les données vers une page dans un tableau. Les données sont entrées dans la base de données avec les mains, mais que vous voulez, en utilisant le guide « Comment écrire un plugin pour WordPress ", peut faire une page pour télécharger les informations dans la base de données WordPress via un navigateur.

Créer une nouvelle table dans la base de données WordPress

Préparer le terrain pour le suivi - créer une base MySQL WordPress nouvelle table (j'ai nommé mon biblio) les éléments suivants:

Table pour créer une bibliothèque
Identifiant la section ISBN Nom auteurs Description book_url book_cover_url

La meilleure façon de créer une table - cette requête CREATE TABLE pour la base de données:

 CREATE TABLE `wp_biblio` (
			 `Id` INT NOT NULL AUTO_INCREMENT,
			 Section `VARCHAR (30) NOT NULL default'',
			 Isbn `VARCHAR (70) NOT NULL default'',
		  	 `Nom` VARCHAR (100) NOT NULL,
		  	 Auteurs `VARCHAR (50) NOT NULL default'',
		  	 `Description`''de texte par défaut NOT NULL,
		  	 `Book_url` VARCHAR (255) NOT NULL default'',
		  	 `Book_cover_url` VARCHAR (255) NOT NULL default'',
		  	 UNIQUE KEY id (id)
		 ) De caractères par défaut utf8 COLLATE utf8_unicode_ci;

Pour ceux qui veulent mieux comprendre les paramètres de la requête dans la « Bibliothèque »a présenté un grand livre SQL. Le Guide Complet (2ème édition).

WordPress-fonction de sortie à la page

Il est maintenant temps de faire directement en écrivant une fonction à wordpress, qui recevra les données de la base de données et les afficher sur la page à l'emplacement spécifié. Je suis montrant où insérer la balise de données est le type de

Une
[Biblio = "attr1, attr2, AttrN"]

. Attributs de la balise (des mots entre guillemets) fournira les noms des sections de la bibliothèque (les attributs de formatage sont stockées, par exemple, si vous spécifiez un Perl et PHP par exemple, la section de la bibliothèque et sera nommé en minuscules) et elles servent aussi à séparer les catégories de livres lorsqu'on leur demande de la base de données.

 my_biblio_former fonction ($ contenu) {
    global $ wpdb;
    $ $ = Biblio_table wpdb-> prefix.  «Biblio»; # set la table de descripteurs avec des livres
    $ Pattern = "/ \ [biblio = \ "(.+?) \" \] / est "; # parse la balise template [biblio =" atribut1, atributN "]

    if (preg_match ($ pattern, $ contenu, $ book_sect) & & is_page ("Bibliothèque")) {# chaque fois qu'un tag se trouve sur cette page - il est manipulé
       Sections $ = preg_split ("/ [\ s ,]+/", $ book_sect ['1 ']); attributs de la balise # formé un tableau de
       $ New_content = '<table border="1" width="100%" frame="void" rules="rows" cellspacing="0" cellpadding="2">';

       foreach ($ $ b_section sections) {# commence à traiter les attributs de la balise array
          $ Sql ​​= "SELECT * FROM $ biblio_table WHERE` section `= '$ b_section'"; # échantillon de la base de données pour l'attribut courant
          Livres $ = $ wpdb-> get_results ($ sql, ARRAY_A); # obtenir les résultats de l'échantillon sous la forme de hachage
          $ New_content .= '<tr align="center"> <td> <h2> ».  $ B_section '</ H2> </ td> </ tr>'.;

          foreach ($ $ livres livre) {# traitement des résultats de l'échantillon de la base de données
             $ New_content .= '<tr align="center">'; # pour chaque livre sur une table une nouvelle ligne
             $ New_content .= "<td align="center"> <img src =" '. $ Livre [' book_cover_url '].' "Alt =" ". $ Livre ['nom']. '  Télécharger "> </ td> '; # dans la première colonne est la couverture du livre
             $ New_content .= "<td align="center"> <a href="'. $book['book_url'] .'">».  $ Livre ['nom'] '</ A> </ strong> <br /> <strong> ISBN: </ strong>'..  $ Livre ['isbn']. '<br /> <em> ».  $ Livre ['auteurs']. '</ Em> <br />'.  $ Livre ['description'] '</ td>'; # dans la deuxième colonne - ISBN, auteur (s), description des.
             $ New_content .= '</ tr>';
          Fin} traitement de l'échantillon #
       Fin} # attribut de traitement
       $ New_content .= '</ table> ";
       $ Contenu = preg_replace ($ pattern, $ new_content, $ contenu);
       return $ contenu;
    #} Fin du traitement de la balise [Biblio]

Le code de fonction, j'ai essayé de bien commenter les détails et les requêtes dans une base de données MySQL à partir de WordPress, je lui ai dit de nouveau écrire un guide pour WordPress Plugin (voir la cinquième partie - .. La rédaction d'un plugin pour WordPress composante fonctionnelle ).

Écrire une fonction à ajouter à la functions.php fichier son thème wordpress (par exemple, en utilisant l'éditeur intégré du panneau d'administration: Apparence -> Éditeur).
Ne pas oublier d'installer également un filtre (le filtre j'ai dit plus tôt ) pour appeler fnktsii:

Une
add_filter ('the_content', 'my_biblio_former', 1);

Conclusion - pour vérifier la fonction de travail des données de sortie de la base de données

C'est tout ce qu'il prête à fonctionner et à travailler, comme en témoigne la page " bibliothèque "de mon blog, ce qui représente une simple balise

Une
[Biblio = "Perl, PHP, SQL"]

, Avec une section de la bibliothèque sont affichés dans l'ordre dans lequel ils ont été répertoriés dans les attributs de la balise.

Discuté dans cette fonction l'article est facile à adapter à l'organisation dans le stockage de fichiers WordPress-blog avec un affichage convivial des données les concernant (données binaires peuvent être stockés directement dans la base de données si vous le souhaitez), ou certains problèmes similaires.

Expérimenter et de créer la bonne chance! :)

Plus sur les mêmes sujets:

Catégorie Filed under: Blogging , Codage | Tag Tags: , , , , , | Commentaires No Comments

Laisser un commentaire