Complemento de cotización aleatoria con tipo de mensaje personalizado

Esta es la segunda parte de la creación de un complemento de cotización aleatoria, pero esta vez con tipos de publicación personalizados.


En esta segunda versión del complemento de cotización aleatoria, avanzamos un poco más y utilizamos algunas herramientas y funciones más. Los tipos de publicaciones personalizadas están disponibles desde WordPress v3.0. Permiten a los desarrolladores agregar diferentes tipos de contenido a sus complementos y temas, y con eso usted puede extender fácilmente la funcionalidad de CMS de WordPress..

Puedes encontrar la primera versión del plugin aquí. Si está comenzando con el desarrollo de complementos o desea una actualización rápida, se recomienda leerlo primero..


1. Datos básicos

Estos son los datos necesarios para cada plugin. Cosas simples como autor, nombre del complemento, descripción, etc..

 

2. Registrar tipo de mensaje personalizado

Antes de que podamos usar el tipo de mensaje personalizado de cita aleatoria, tenemos que configurarlo. En la matriz de etiquetas se necesita la forma singular y plural del nombre. El interruptor público establecido en verdadero permite a los usuarios utilizar el tipo de publicación en el administrador. los has_archive Establece la opción de usar archivo de tipos de correos..

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

3. Creación de la interfaz de administración

Con proyecto_editar_columnas y project_custom_columns función podemos crear una interfaz de administración modificada para el tipo de publicación personalizada utilizando el Persona y Citar Campos (anulando el título y la descripción). Ambas funciones son necesarias para hacer el trabajo.

  ""," title "=>" Person "," description "=>" Quote ",); return $ columns; add_action (" manage_posts_custom_column "," project_custom_columns "); function project_custom_columns ($ column) global $ post; switch ($ columna) caso "descripción": the_excerpt (); break;?>

Esta es una foto del complemento final..


4. Obtener una cita aleatoria de la base de datos

Con el WP_Query Clase podemos obtener un elemento aleatorio de las publicaciones personalizadas. Como solo recuperamos un elemento, no necesitamos un bucle estándar. Establecer estos tres argumentos es obligatorio. los $ quo La variable ayuda a crear una cadena basada en la cita y su autor, que puede generar una muestra como esta:

"Nunca pienso en el futuro. Viene muy pronto".
~ Albert Einstein

  'random_quote', 'posts_per_page' => 1, 'orderby' => 'rand'); $ consulta = nueva WP_Query ($ args); // Crear la cadena de salida $ quo = "; $ quo. = $ Query-> post-> post_title; $ quo. = 'Said"'; $ quo. = $ consulta-> post-> post_content; $ quo. = '"'; devolver $ quo;?>

5. Asignación de la cita al elemento de descripción del blog

Para adjuntar la cotización generada a su lugar, usamos una función de ayuda, y después de eso anulamos el filtro predeterminado (bloginfo).

 

6. Código final

Esto es lo que hemos hecho, solo un archivo..

  array ('name' => __ ('Random Quotes'), 'singular_name' => __ ('Random Quote')), 'public' => true, 'has_archive' => true,));  // Crear una interfaz de administrador add_filter ("manage_edit-random_quote_columns", "ab_arq_project_edit_columns"); función ab_arq_project_edit_columns ($ columnas) $ columnas = matriz ("cb" => ""," title "=>" Person "," description "=>" Quote ",); return $ columns; add_action (" manage_posts_custom_column "," ab_arq_project_custom_columns "); función ab_arq_project_custom_columns ($ column) global $ post; switch ($ columna) caso "descripción": the_excerpt (); break; // Función principal para obtener la función de comillas ab_arq_generate () // Recuperar una cita aleatoria $ args = array ('post_type' => 'random_quote', 'posts_per_página' => 1, 'orderby' => 'rand'); $ query = new WP_Query ($ args); // Crear cadena de salida $ quo = "; $ quo. = $ consulta-> post-> post_title; $ quo. = 'dijo "'; $ quo. = $ consulta-> post-> post_content; $ quo. = '"'; devuelve $ quo;  // función de la función de ayuda ab_arq_change_bloginfo ($ text, $ show) if ('description' == $ show) $ text = ab_arq_generate ();  devolver $ texto;  // Anular el filtro predeterminado con el nuevo generador de cotización add_filter ('bloginfo', 'ab_arq_change_bloginfo', 10, 2); ?>

7. Resumen

En solo unos pocos pasos, creamos un sistema de almacenamiento mucho más flexible con el uso de publicaciones personalizadas. Sin embargo, tenga en cuenta que si desactiva o elimina el complemento, las citas (publicaciones personalizadas) permanecerán en la base de datos de WordPress. Si desea que se eliminen, debe ampliar este complemento en consecuencia..