Creación de un complemento de WordPress Parte 3: Configuración de un tipo de contenido personalizado

En la segunda parte de nuestra serie, comenzamos a estructurarse usando el complemento de WordPress Boilerplate para levantar algunos andamios sensibles en torno a nuestro código futuro. Al tomar este enfoque, logramos comenzar las cosas con una cantidad sustancial de las mejores prácticas para los complementos ofrecidos de forma gratuita. Esta vez, consideraremos ofrecer parte de nuestro contenido futuro creado por los usuarios un hogar en casa, utilizando un tipo de publicación personalizado. Esto nos dará la oportunidad de dar algunos pequeños pasos en el uso real del complemento de WordPress Boilerplate y obtener contenido de prueba en el sistema para jugar.
Sin embargo, antes de volar nuestras mangas y comenzar a crear tipos personalizados de contenido, para aclarar una posible confusión con respecto a la terminología. Alguna información sobre los tipos de publicaciones personalizadas, independientemente de su nivel anterior de experiencia con WordPress, es casi seguro que haya cumplido con el concepto de publicaciones en algún lugar de la línea. Lo más probable es que descubras rápidamente las diferencias básicas entre publicaciones y páginas y luego sigues adelante con tu vida. Sin embargo, hay una posible confusión que se encuentra en el fondo, una vez que profundizamos un poco más. Como Justin Tadlock enfatizó en su excelente artículo introductorio sobre este tema, cuando se introdujeron publicaciones personalizadas en 2010, el término “publicación” cubre varias bases potenciales en WordPress: no hablamos de publicaciones de blog en comparación con páginas aquí. .
Las publicaciones de WordPress son en realidad un término genérico utilizado para referirse a diferentes tipos de contenido. El software viene con cinco tipos diferentes de pilares listos para usar inmediatamente desde la puerta: las publicaciones (estas son lo que probablemente usas para pensar, como publicaciones de blog)
página
Archivos adjuntos
revisión
menús
El contenido real para todo esto se almacena en la tabla de publicación de la base de datos, que explica la cantidad terriblemente grande de datos que generalmente están allí cuando lo obtienes por primera vez.
Los tipos de publicaciones personalizadas están en el centro de complementos populares, como WooCommerce. También tenemos la opción de crear nuestros propios tipos de publicaciones personalizadas. Esto nos da una forma limpia y hermosa de aislar nuestro contenido principal como desarrolladores y brinda a nuestros usuarios potenciales una forma simple e intuitiva de introducir contenido en el back-end. Es un enfoque que se encuentra en el centro de una gran cantidad de complementos populares y en el núcleo de la plataforma en sí.

Vamos a uno de estos chicos malos. Preparación para registrar su propio tipo de publicación personalizada, así como la mayoría de las cosas del complemento, siempre vale la pena consultar el manual oficial de complementos al establecer los primeros pasos. En este caso, vamos directamente a la sección sobre el registro de los tipos de publicaciones personalizadas. Algunas cosas inmediatamente se vuelven obvias al examinar la documentación relevante:
Usaremos la función Register_Post_Type () para hacer el trabajo básico aquí. (Los fanáticos de las listas extendidas de argumentos son de placer cuando siguen ese enlace especial).
El gancho de iniciación se parece a la etapa del procedimiento para comenzar las cosas. Tenemos que pensar correctamente.
Necesitamos averiguar cómo ajustar todo esto en la configuración de horarios de BordPress Plugin que utilizamos.
Comencemos con el último artículo primero. Refiriéndose a la sección de estructura de la carpeta de complemento en nuestra pieza anterior, puede recordar que la carpeta local incluye nuestro complemento es el lugar donde se lleva a cabo la mayor parte de la acción. Específicamente, el archivo al que referimos genéricos como class-plugin-name.php en el que incluye la carpeta ofrece algunos puntos útiles para hacer cosas tanto en el frente como en la parte posterior.
En nuestro caso particular, el nombre del complemento es My-RDM-Quotes, que nos da una ruta local completa a /pligins/my-rdm-quotes/includes/class-my-rdm-quotes.php. Si ingresamos a ese archivo, veremos el método Define-Admin-Hooks () esperando ser utilizado:
De hecho, registramos nuestro tipo de contenido personalizado, tenemos una idea aproximada de dónde hundirse ahora, pero siempre vale la pena sentarse sobre los hombros de los demás cuando se trata de probar algo por primera vez. La reciente presentación de Chris Wilcoxson sobre el uso del complemento de WordPress Boilerplate no es solo una discusión divertida e informativa en sí, sino que también viene con una práctica, totalmente documentada, para explorar en Github.
Al aparecer en el archivo de clase principal, podemos ver que la función registra_post_type () se inserta en los procedimientos en los que sospechamos que podría ser, aunque por una función personalizada:

Esto, a su vez, nos lleva de regreso a la carpeta de administración y a la clase principal de admin. Rdm-quotes.php: función privada define_admin_hooks () {
$ plugin_admin = nuevo my_rdm_quotes_admin ($ this-> get_plin_name (), $ this-> get_version ());

$ this-> loader-> add_action (‘admin_enqueue_scripts’, $ plugin_admin, ‘enquue_styles’);

$ this-> loader-> add_action (‘admin_enqueue_scripts’, $ plugin_admin, ‘enqueue_scripts’);
$ this-> loader-> add_action (‘init’, $ plugin_admin, ‘new_cpt_rdm_quote’);
} Esto simplemente le dice a WordPress que busque una función personalizada llamada new_cpt_rdm_quote () en la parte relevante de la carpeta de administración. Luego agregaremos esa función en /admin/class-my-rdm-quotes-admin.php. En nuestro caso a continuación, optamos por una versión ligeramente reducida, construida en el código original de Chris Wilcoxson:
/**
* Crea un nuevo tipo de publicación personalizada
*

* @From 1.0.0
* @Access Public
* @uses registro_post_type ()
*/
Función pública pública new_cpt_rdm_quote () {
$ cap_type = ‘post’;
$ plural = ‘cotizaciones aleatorias’;
$ single = ‘cita aleatoria’;
$ cpt_name = ‘rdm-quote’;
$ ops [‘can_export’] = true;
$ OPS [‘Capability_Type’] = $ cap_type;
$ OPS [‘Descripción’] = ”;
$ OPS [‘EXCLUCE_FROM_SEARCH’] = false;
$ OPS [‘Has_archive’] = false;
$ ops [‘jerárquicamente’] = falso;
$ ops [‘map_meta_cap’] = true;
$ OPS [‘Menu_icon’] = ‘Dashicons-Businessman’; $ OPS [‘Position_Meniu’] = 25;
$ ops [‘public’] = true;
$ OPS [‘Publicly_QueraB’] = True;
$ ops [‘query_var’] = true;
$ OPS [‘Registro_meta_box_cb’] = ”;
$ OPS [‘Rewrite’] = false;
$ ops [‘show_in_admin_bar’] = true;
$ ops [‘show_in_menu’] = true;
$ ops [‘show_in_nav_men’] = true;
$ ops [‘etiquetas’] [‘add_new’] = esc_html __ (“add {$ single},” sabiduría “);
$ ops [‘etiquetas’] [‘add_new_item’] = esc_html __ (“add {$ single”, “sabiduría”);
$ ops [‘etiquetas’] [‘all_items’] = esc_html __ ($ plural, ‘sabiduría’);
$ ops [‘etiquetas’] [‘edit_item’] = esc_html __ (“editar {$ sencillo”, ‘sabiduría’);
$ ops [‘etiquetas’] [‘menú_name’] = esc_html __ ($ plural, ‘sabiduría’);
$ ops [‘etiquetas’] [‘name’] = esc_html __ ($ plural, ‘sabiduría’);
$ ops [‘etiquetas’] [‘name_admin_bar’] = esc_html __ ($ sencillo, ‘sabiduría’);
$ ops [‘etiquetas’] [‘new_item’] = esc_html __ (“new {$ single}”, “sabiduría”);
$ ops [‘etiquetas’] [‘not_found’] = esc_html __ (“no encontrado {$ plural}”, “sabiduría”);
$ ops [‘etiquetas’] [‘not_found_in_trash’] = esc_html __ (“no {plural} encontrado en la canasta”, “sabiduría”);
$ ops [‘etiquetas’] [‘parent_item_colon’] = esc_html __ (“parent {$ plural}:”, “sabiduría”);
$ ops [‘etiquetas’] [‘search_items’] = esc_html __ (“buscar {$ plural}”, “sabiduría”);
$ ops [‘etiquetas’] [‘singular_name’] = esc_html __ ($ sencillo, ‘sabiduría’);
$ ops [‘etiquetas’] [‘ver_item’] = esc_html __ (“visualización {$ sencillo”, “sabiduría”); registro_post_type (street ($ cpt_name), $ ops);
} // new_cpt_job () Notará que en realidad llama a registro_post_type () en la parte inferior de la función y transmite varios argumentos y etiquetas que se han definido durante el curso. Todos están bien, ahora deberíamos poder ingresar a la parte de atrás y ver una nueva casa para nuestro contenido:
Si accedemos a una nueva cotización aleatoria, debemos tener una interfaz familiar para ingresar a las comillas:
Un viaje rápido a la base de datos y deberíamos ver que nuestra oferta se almacena con el tipo correctamente personalizado:
Hay todo tipo de cambios y cambios menores que podríamos hacer en este momento, pero eso casi termina las cosas para esta parte de la serie. No se implementó una gran cantidad de código, pero acabamos de completar otra etapa clave de nuestro desarrollo general de complementos. Y, muy importante, WordPress Plugin Boilerplate ha demostrado una vez más, dándonos muestras útiles a las que remitimos una estructura sólida para trabajar.
Conclusión A medida que giramos la esquina hacia la parte posterior de nuestra serie, seguimos haciendo un progreso constante y estructurado en nuestro alegre camino. Hasta el momento, hemos verificado una serie de casillas importantes, con andamios sólidos para guiarnos y estamos bien entrenados para tarifas futuras. Recapitulemos los puntos principales que llegamos esta vez:
He introducido el concepto de tipos de publicaciones personalizadas en WordPress.

Luego establecemos los pasos básicos que deberíamos hacer para implementar nuestro propio tipo personalizado.

Finalmente, con un código existente para guiarnos, hemos ingresado el registro de un tipo de contenido personalizado en nuestra configuración existente y se verificamos si funciona. Está en el escenario para la próxima parte de la serie, en la que comenzaremos a buscar Diferentes formas de mostrar nuestro contenido, ahora que tenemos dónde vivir.Como siempre, si tiene preguntas o pensamientos, ¡no dude en contactarnos a través de los comentarios a continuación y compártalos!

Imagen presentada: Geralt

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *