Cómo agregar contenido predeterminado al editor de tipos de publicaciones personalizadas

Publicado: 2022-01-29

Cómo agregar contenido predeterminado al editor de tipos de publicaciones personalizadas En los últimos dos tutoriales sobre cómo agregar contenido a la publicación o página de WordPress, cubrimos exhaustivamente cómo agregar contenido cambiando la función the_content usando un filtro. Demostramos cómo puede agregar contenido antes o después del contenido de la publicación de WordPress. En el segundo tutorial, hablamos sobre agregar contenido predeterminado al editor de WordPress.

En los comentarios que recibí de esas dos publicaciones: cómo agregar contenido predeterminado al editor de WordPress y cómo agregar contenido después de publicar contenido en WordPress ; la pregunta común era cómo agregar el contenido predeterminado al editor de WordPress en un tipo de publicación personalizada.

Agregar contenido predeterminado al editor de tipos de publicaciones personalizadas

En esta publicación, quiero modificar el filtro que usamos en esta publicación para agregar contenido predeterminado en el editor de WordPress para que usemos el mismo en un tipo de publicación personalizada. Entonces, el objetivo de este tutorial es mostrarle cómo puede agregar contenido predeterminado en el editor de tipo de publicación personalizado.

Si no ha utilizado los tipos de publicaciones personalizadas de WordPress , son básicamente como las páginas o publicaciones predeterminadas, pero las crea usted mismo.

Puede crearlos agregando este código (a continuación) al archivo functions.php en su tema de WordPress y también hay un buen tutorial, ilustré cómo crear un tipo de publicación personalizado sin usar un complemento que puede seguir fácilmente paso a paso.

 //Njengah Tutorial Ejemplo de tipo de publicación personalizada 

  //Gancho 

	add_action('init', "njengah_tutorial_cpt");
  
  //Función de devolución de llamada

	función njengah_tutorial_cpt(){
		
		$etiquetas = matriz(
				'nombre' => _x('tutoriales', 'nombre general del tipo de publicación'),
				'singular_name' => _x('tutorial', 'post type singular name'),
				'menu_name' => _x('tutoriales', 'menú de administración'),
				'name_admin_bar' => _x('tutorial', 'agregar nuevo en la barra de administración'),
				'agregar_nuevo' => _x('Agregar nuevo', ''),
				'add_new_item' => __('Agregar nuevo tutorial'),
				'edit_item' => __('Editar tutorial'),
				'nuevo_elemento' => __('Nuevo Tutorial'),
				'all_items' => __('Todo el tutorial'),
				'ver_elemento' => __('Ver Tutorial'),
				'search_items' => __('Buscar tutoriales'),
				'not_found' => __('No se encontraron tutoriales'),
				'not_found_in_trash' => __('No se encontraron tutoriales en la Papelera'), 
				'parent_item_colon' => __('Tutoriales para padres:'),
				
		);

			$argumentos = matriz(
				'jerárquico' => verdadero,     
				'etiquetas' => $etiquetas,
				'público' => verdadero,
				'publicly_queryable' => verdadero,  
				'descripción' => __('Descripción.'),
				'show_ui' => verdadero, 
				'show_in_menu' => verdadero,
				'show_in_nav_menus' => verdadero,			
				'query_var' => verdadero,
				'reescribir' => verdadero,
				'query_var' => verdadero,
				'reescribir' => array('slug' => 'tutorial'),
				'capability_type' => 'página',
				'has_archive' => verdadero, 
				'posición_menú' => 22,
				"show_in_rest" => verdadero,
				'soporta' => array( 'título', 'editor', 'autor', 'miniatura', 'revisiones', 'atributos de página', 'campos personalizados')
			); 

			register_post_type('tutorial', $argumentos);
		
		
	}

Cuando tenga listo el tipo de publicación personalizada, debe obtener el código que agregamos en el tutorial anterior al archivo de funciones para agregar el contenido predeterminado al editor de publicaciones de WordPress.

El código consistía en un filtro y la función de devolución de llamada tenía el contenido que necesitábamos agregar al editor de WordPress. El código era el siguiente:

 add_filter('the_content', 'add_content_after');

función add_content_after($contenido) {

     $after_content = “Ejemplo de nuestra política de comentarios después del contenido de la publicación”;
 
     $contenido completo = $contenido . $después_del_contenido;

     devolver $contenido completo;

}

Resumen paso a paso

En un resumen rápido de los pasos, agregaremos contenido predeterminado al editor de tipo de publicación personalizado mediante los siguientes tres pasos

  1. Cree un enlace de filtro para filtrar default_content y la función de devolución de llamada respectiva con el contenido predeterminado que desea agregar al editor de publicaciones personalizado.
  2. Determine si está en el tipo de publicación personalizada agregando una declaración condicional if/else en la función de devolución de llamada para verificar VERDADERO/FALSO
  3. Si está en el tipo de publicación personalizada, agregue el contenido si está en otras publicaciones como la página, la publicación y otros tipos de publicaciones personalizadas; devolver el contenido sin el contenido adicional.

Cómo agregar contenido predeterminado al editor de tipo de publicación

En el siguiente paso, debemos averiguar dentro de la función de devolución de llamada si estamos en la pantalla de tipo de publicación personalizada y, de lo contrario, no agregaremos el contenido.

Entonces, idealmente, usaremos una condición lógica para determinar si estamos en el tipo de publicación personalizada específica y, de ser así, agregamos el contenido predeterminado al editor y si ahora devolvemos la función the_content predeterminada sin el contenido adicional.

Cómo verificar si es un tipo de publicación personalizada
Puede verificar si está en el tipo de publicación personalizada utilizando la siguiente declaración condicional:

 $currentID = get_the_ID();

if (get_post_type($currentID) == "custom-post-type-slug" ){

    // entonces haz tus cosas aquí 

}

También puede usar el objeto de publicación global en la función de devolución de llamada del código que compartimos antes y debería ser de la siguiente manera:

 función add_default_content_to_cpt ($ contenido, $ publicación) {

     if($post->post_type == ' custom-post-type-slug'

                  // entonces haz tus cosas aquí
     }

}

Fragmento de código para agregar contenido predeterminado al editor de tipos de publicaciones personalizadas

Ahora el código completo para agregar el contenido predeterminado al editor de tipo de publicación personalizado debe tener el filtro y la función de devolución de llamada de la siguiente manera:

 add_filter('default_content', 'add_default_content_to_cpt', 10, 2);

función add_default_content_to_cpt ($ contenido, $ publicación) {


     if($post->post_type == ' custom-post-type-slug'){


        // Contenido para agregar al editor de tipos de publicaciones personalizadas 

        $new_content = '¡Inicie sesión para dejar un comentario! No se permite el spam, ¡el Gran Kahuna está mirando!';

            $contenido completo = $contenido . $nuevo_contenido;

               devolver $contenido completo;

     	}

           devolver $contenido; 

}

Debe reemplazar el slug de tipo de publicación personalizado con su slug respectivo que se agrega cuando registra un tipo de publicación personalizado.

Cuando agrega este código en el archivo de funciones o el complemento, debería ver el contenido agregado al tipo de publicación personalizada, pero no debería verse en los otros post-editores como se muestra en la imagen a continuación:

Agregar contenido predeterminado al editor de tipos de publicaciones personalizadas

Terminando

Puede agregar contenido predeterminado al editor de publicaciones personalizadas agregando un filtro y en la función de devolución de llamada verifica si es el tipo de publicación personalizada con una declaración condicional (if/else o Switch Statement) si no, simplemente muestra el contenido de la publicación normal sin el contenido añadido. Este es un consejo útil para un desarrollador de WordPress o un sitio que quiera agregar contenido debajo del tipo de publicación personalizada en el tema actual.

Artículos similares

  1. Cómo eliminar Ha sido agregado a su carrito Mensaje WooCommerce