Clic

Biblioteca para WordPress. ¿Cómo puedo hacer faylohranilische

Decidí rehacer la página con los libros en su sitio web, aprovechando el acceso a MySQL, que todavía se utiliza en wordpress. La esencia de la alteración es bastante simple - para crear una función, que se encuentra en el cuerpo de la etiqueta página específica, sería un sustituto de cierta información de la base de datos wordpress. La base de datos, a su vez, puede ser cualquier cosa, en mi caso - las descripciones y enlaces a los archivos de los libros presentados en la "Biblioteca". Difícil de escribir como una función no es otra cosa en este principio funciona de la manera muchos plugins, como pegar el video o la música en la página.

La función principal de los datos se insertan en la página

Si lo llaman en las travesías de bucle de la lista de atributos de la etiqueta, a continuación, para cada atributo hace una consulta a la base de datos MySQL, la muestra resultante se analiza y muestra datos en la página en una tabla. Los datos se introducen en la base de datos con las manos, pero que quieren, usando la guía " Cómo escribir un plugin para WordPress ", puede hacer una página para descargar la información en la base de datos de WordPress a través de un navegador.

Crear una nueva tabla en la base de datos de WordPress

Preparar el terreno para el seguimiento - crear una base de MySQL WordPress nueva tabla (que llamé a mi biblio) lo siguiente:

Tabla para crear una biblioteca
identificación sección ISBN nombre autores descripción book_url book_cover_url

La forma más sencilla de crear una tabla - se trata de ejecutar una consulta CREATE TABLE de la base de datos:

 CREATE TABLE `wp_biblio` (
			 `Id` INT NOT NULL,
			 `NO` Sección VARCHAR (30)'' por defecto NULL,
			 `Isbn` VARCHAR (70) NO'' default NULL,
		  	 `Nombre` VARCHAR (100) NOT NULL,
		  	 `Autores VARCHAR NO (50)'' por defecto NULL,
		  	 'Descripción' TEXTO NO'' default NULL,
		  	 `Book_url` VARCHAR (255) NO'' default NULL,
		  	 `Book_cover_url` VARCHAR (255) NO'' default NULL,
		  	 Identificación del UNIQUE KEY (id)
		 ) Caracteres por defecto utf8 COLLATE utf8_unicode_ci;

Para aquellos que quieren entender mejor los parámetros de la petición en la " Biblioteca "presentó un excelente libro de SQL. La guía completa (2 ª edición).

WordPress-función de la salida de la página

Ahora es el momento para empezar a escribir directamente a las funciones para WordPress, que recibe los datos de la base de datos y mostrarlos en la página en la ubicación especificada. Estoy mostrando dónde insertar los datos sirve como una especie de etiqueta

A
[Biblio = "attr1, ATTR2, AttrN"]

. Atributos de las etiquetas (palabras entre comillas) proporcionará los nombres de las secciones de la biblioteca (los atributos de formato en conserva, es decir, si se especifica como Perl y PHP, luego las secciones de la biblioteca llevará el nombre en minúsculas) y sirven también para separar las categorías de libros, a petición de base de datos.

 my_biblio_former función ($ contenido) {
    global de $ wpdb;
    $ = $ Biblio_table wpdb-> prefix.  "Biblio"; # establece la tabla de descriptores con los libros
    Patrón $ = "/ \ [biblio = \" \ "\ / es (+.?)]"; # Analizar una etiqueta de plantilla [biblio = "atribut1, atributN"]

    if (preg_match ($ patron, $ contenido, $ book_sect) is_page && ('Biblioteca')) {# cada vez que se encontró una etiqueta en la página - que se maneja
       US $ secciones = preg_split ("/ [\ s,] + /", $ book_sect ['1 ']); # formaron una serie de atributos de etiqueta
       $ New_content = '<table border="1" width="100%" frame="void" rules="rows" cellspacing="0" cellpadding="2">';

       foreach ($ secciones como $ b_section) {# iniciar el procesamiento de los atributos de las etiquetas de la matriz
          $ Sql ​​= "SELECT * FROM $ biblio_table DONDE sección` `= '$ b_section'"; # obtiene de la base de datos para el atributo actual
          $ Libros = $ wpdb-> get_results ($ sql, ARRAY_A); # obtener los resultados de la muestra en forma de hachís
          $ New_content. = '<tr Align="center"> <td> <h2>'.  $ B_section '</ h2> </ td> </ tr>'.;

          foreach ($ libros como $ libro) {# procesamiento de los resultados de muestreo de la base de datos
             $ New_content = '<tr align="center">';. # Para cada libro crea una nueva fila en la tabla
             $ New_content. = '<td Align="center"> <img src = "". $ Libro [' book_cover_url '].' "Alt =" ". $ Libro ['nombre']. '  descarga "> </ td> '; # en la primera columna es una portada de libro
             $ New_content. = '<td Align="center"> <a href="'. $book['book_url'] .'">'.  $ Libro ['name'] '</ A> </ strong> <br /> ISBN: </ strong> "..  $ Libro ['ISBN']. '<br /> <em>'.  $ Libro ['autores']. '</ Em> <br />'.  $ Libro ['description'] = '</ td>';. # En la segunda columna - ISBN, autor (s), descripción de
             $ New_content = '</ tr>'.;
          } # Fin del procesamiento de la muestra
       # Fin} atribuyen procesamiento
       $ New_content = '</ table>'.;
       $ Contenido = preg_replace ($ patron, $ new_content, $ contenido);
       return $ contenido;
    } # Fin de la tramitación de la etiqueta [biblio]

El código de función, traté de comentar adecuadamente, y detalles acerca de las consultas a una base de datos MySQL de WordPress, me habló otra vez a su guía para escribir un plug-in de WordPress (ver la quinta parte - .. Escribir un plugin para WordPress componente funcional ).

Escribir una función para añadir el archivo functions.php de su tema de wordpress (por ejemplo, usando el editor integrado del panel de administración: Apariencia -> Editor).
No te olvides de instalar también el filtro (acerca de los filtros, yo dije antes ) para llamar a fnktsii:

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

Conclusión - para revisar la función de los datos de salida de la base de datos

Eso es todo listo para la función y el trabajo, como se ejemplifica en la página " biblioteca "de mi blog, uno en representación de una etiqueta única

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

Mientras que las secciones de la biblioteca se muestran en el orden en que se enumeran en los atributos de la etiqueta.

Discutidos en este documento, la función puede ser fácilmente adaptado a la organización en el blog de ​​WordPress, almacenamiento de archivos con una cómoda visualización de datos sobre ellos (datos binarios pueden almacenarse directamente en la base de datos, si se desea), o algunos otros problemas similares.

Experimentar y crear buena suerte! :)

Más sobre temas similares:

Categoría Filed under: Blogging , Codificación | Etiqueta Tags: , , , , , | Comentarios No hay comentarios

Deja un comentario