✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cree tipos de publicaciones personalizadas y taxonomías personalizadas en WordPress por código

7

Este es un tutorial sobre cómo crear un tipo de publicación personalizada y una taxonomía personalizada en WordPress por código. Veremos las trampas comunes y qué argumentos usar para una creación mínima pero suficiente. Ejemplo completo incluido al final.

Dónde agregar el código

La creación de tipos de publicaciones personalizadas (CPT) y taxonomías personalizadas en WordPress se puede realizar dentro del functions.phparchivo de un tema o dentro de un complemento. Tenga en cuenta que el tipo de publicación personalizada y la taxonomía personalizada desaparecerán si cambia de tema o desactiva el complemento. Por lo tanto, es seguro eliminar temporalmente el registro de CPT del tema y moverlo a un complemento, siempre que mantenga el mismo tipo de publicación personalizada o identificador de taxonomía slug/ID.

Para crear (y modificar) un CPT o una taxonomía, utilice siempre el initgancho. Colocarlo en la raíz de functions.php(fuera de un anzuelo) o cualquier otro anzuelo causará problemas.

Crear un tipo de publicación personalizada

Para crear un tipo de publicación personalizada, use la register_post_typefunción. Acepta dos parámetros; primero el identificador de tipo de publicación y segundo una matriz con todos los argumentos.

El identificador de tipo de publicación es un nombre de versión slug de su tipo de publicación. Por ejemplo, los tipos de publicaciones y páginas integradas de WordPress se identifican como ‘ post‘ y ‘ page‘. El identificador debe ser único, debe seguir un conjunto de reglas (minúsculas, sin espacios, etc.) y no ser uno de los slugs reservados de WordPress.

Esto es lo que he aprendido a ser los argumentos mínimos pero perfectamente buenos para registrar un tipo de publicación; teniendo en cuenta que es un CPT público normal y desea anular cualquier etiqueta que diga "publicación" o "página" con el nombre real de su CPT:

Una visión general de los argumentos.

Tenga en cuenta que algunos de los argumentos heredan valores de otros argumentos. A menos que se establezcan explícitamente, pueden tener el mismo valor predeterminado o el opuesto a otro. Varios argumentos heredan el mismo valor o el opuesto del argumento public. Lea la documentación para ver cuál es el valor predeterminado para cada argumento y si necesita anularlo.

Si está de acuerdo con tener textos en el administrador que se refieran a su tipo de publicación como "publicación" o "página", puede omitir la definición de los argumentos de la etiqueta. Probablemente estará bien con solo label(nombre plural) y dentro de la labelsmatriz solo singular_name(nombre singular).

Si no establece explícitamente show_in_resten verdadero, su tipo de posición personalizada utilizará el antiguo editor clásico. Si desea utilizar el editor Gutenberg para su tipo de publicación personalizada, debe establecerlo show_in_resten true.

El supportsargumento indica qué elementos están disponibles al editar una publicación en su tipo de publicación. Como mínimo, probablemente desee el título, el editor y la imagen destacada de la publicación.

El rewriteargumento con el mínimo de elemento de matriz slugle dice a WordPress que reescriba todas las publicaciones singulares de su tipo de publicación para usar este slug de prefijo. En el ejemplo anterior, una publicación de libro singular obtendría una URL como; ” http://ejemplo.com/libro/i-robot/ “. Si está interesado en cómo agregar una configuración de regla de enlace permanente en el administrador para permitir que los usuarios del tema decidan este slug por sí mismos, eche un vistazo a esta publicación.

El argumento para el ícono de menú (menu_icon) puede ser cualquiera de los siguientes Dashicons, o puede dejarlo vacío para mantener el valor predeterminado. El valor predeterminado es el mismo icono que Publicaciones. Sin embargo, es una buena idea separar claramente los tipos de publicaciones personalizadas.

La posición del menú (menu_position) le permite decidir la posición de su tipo de publicación personalizada en el menú de administración. La documentación enumera todas las posiciones del menú de administración, para que pueda ajustar; la posición 5 está justo después de ‘Publicaciones’.

Hay otro argumento (taxonomies) para adjuntar una taxonomía al tipo de publicación. Veremos cómo agregar una taxonomía personalizada más adelante en esta publicación. Para agregar taxonomías a su tipo de publicación, agregue este argumento a la matriz anterior;

Una nota sobre los enlaces permanentes y los errores 404 no encontrados

Después de haber agregado su código para registrar un tipo de publicación personalizada, notará que ver una sola publicación devolverá el error "404 no encontrado". Esto se debe a que necesita "actualizar enlaces permanentes".

Vaya a Configuración > Enlaces permanentes y simplemente haga clic en el botón "Guardar cambios" (no es necesario cambiar nada).

Tenga en cuenta que cada vez que cambie el rewriteatributo, deberá actualizar los enlaces permanentes nuevamente.

Creación de una taxonomía personalizada

Se puede adjuntar una taxonomía personalizada a uno de los tipos de publicaciones de WordPress (publicaciones, páginas) o a un tipo de publicación personalizado. También puede adjuntar varias taxonomías a un tipo de publicación. Cuando registra una taxonomía, debe proporcionar los tipos de publicación a los que desea que se adjunte.

Una taxonomía puede ser jerárquica (como categorías de publicaciones en las que puede crear una estructura basada en árboles) o basada en etiquetas (como etiquetas de publicaciones). Esta es realmente la única consideración que necesita saber de antemano, con la excepción de su identificador slug. Al igual que con los CPT, el slug de identificación de una taxonomía debe ser único y seguir un conjunto de reglas.

Para registrar una taxonomía personalizada, utilice la register_taxonomyfunción. Acepta el register_taxonomyslug del identificador único de taxonomía como primer argumento, una matriz de tipos de publicaciones para adjuntarla como segundo argumento y, finalmente, una matriz con el resto de los argumentos. Hay muchos argumentos, pero esto es lo que he experimentado como mínimo pero suficiente para registrar una taxonomía personalizada (esto agrega una taxonomía de tipo etiqueta/no jerárquica):

Se recomienda agregar una llamada de función justo después del register_taxonomy, para asegurarse de que se "adjunte" correctamente al CPT: register_taxonomy_for_object_type. Defina su taxonomía como primer argumento y el CPT como segundo:

register_taxonomy_for_object_type('book_author', 'book');

De manera similar al tipo de publicación anterior, register_taxonomyacepta muchos más argumentos, y muchos de ellos heredan o dependen del valor de otros argumentos. Lea la documentación para ver cuál es el valor predeterminado para cada argumento y si necesita anularlo.

Una visión general de los argumentos.

Si está de acuerdo con tener textos que se refieran a su taxonomía como "etiqueta" (si jerárquico es falso) o "categoría" (si jerárquico es verdadero), probablemente pueda omitir toda la labelsmatriz con la excepción de quizás singular_name.

Es show_admin_columnútil para agregar una columna que muestre los términos asociados en su taxonomía en la pantalla de administración de CPT. Al igual que en Publicaciones, verá una columna que muestra las categorías asociadas. Este argumento está configurado de forma predeterminada en false(no mostrar columna), por lo que me gusta anularlo.

La configuración show_in_resten verdadero es necesaria para que su taxonomía sea visible en la edición posterior en el editor de Gutenberg, ya que Gutenberg se basa en la API REST.

Del mismo modo que con los tipos de publicaciones personalizadas, probablemente obtendrá errores "404 no encontrado" en su taxonomía personalizada. Vaya a Configuración > Enlaces permanentes y simplemente haga clic en el botón "Guardar cambios".

Código de ejemplo completo

Aquí hay un ejemplo completo de cómo crear un CPT para libros y adjuntar dos taxonomías personalizadas; género (jerárquico) y autor del libro (etiqueta).

Fuente de grabación: awhitepixel.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More