Soporte » Guías – Resolución de problemas » Problema de visualización de custom post type en backend

  • Hola, he creado un custom post type llamado «Inmuebles», con varias custom taxonomies, que utilizo para publicar los posts que se muestran en la página.
    En el backendc cuando ingreso a Inmuebles -> Todos los inmuebles, la página (edit.php?post_type=inmuebles) no se visualiza correctamente. ya que el campo «Título» muestra solo tres caracteres por renglón, entonces el título del post dividido en tres caracteres por renglón hace que ocupe gran cantidad del monitor.

    Para las entradas comunes que se ven en la pagina edit.php la visualzación es correcta.

    Alguien sabe como puedo arreglar ese problema?

    Gracias y saludos a todos

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 7 respuestas - 1 de 7 (de 7 total)
  • Hola @andresrom
    Podrias explicarte mejor no se comprende muy bien.

    Hola @kallookoo , en el back end, cuando quiero visualizar mis custom post types del tipo «inmuebles», el listado de post no se ve correctamente. Aquí pongo una captura de pantalla.

    http://es.tinypic.com/r/15ycdhy/9

    Gracias y saludos

    Segun parece por la imagen que pones tu problema es que tienes demasiados campos definidos, titulo, categorias, etiquetas, comentarios, los iconos de yoast, etc…
    La tabla donde ves los posts en tu caso inmuebles no esta pensada para añadir tantos campos, mientras mas campos mas comprimidas estaran las filas.
    Intenta eliminar los que no sean estrictamente necesarios o agrupar por ejemplo, lo que tienes entre etiquetas y estadisticas en un campo lo que seria una columna vamos.

    Gracias @kallookoo , sabes si hay alguna manera de que no se muestren todos los campos? No quisiera eliminarlos porque los utilizo para filtrar los post.

    Saludos amigo

    Por lo que veo que la imagen no usas ningun filtro, pero bueno.
    Quien y como te creo ese post type?
    Te defiendes un poco programando en PHP?

    • Esta respuesta fue modificada hace 1 mes, 1 semana por  kallookoo.
    • Esta respuesta fue modificada hace 1 mes, 1 semana por  kallookoo.

    Lo cree yo con una página que genera el código, y lo copio dentro de un plugin.
    Me defiendo para cosas muy básicas en PHP

    Perfecto, asi sera mas facil.
    Te comento una de las maneras de como lo haria para agrupar todas las taxonomias que creastes con el post type inmuebles.
    No entrare en detalles pero como sabes lo basico creo que lo entenderas perfectamente.
    Como lo tienes todo en plugin personalizado o eso he deducido lo primero que haremos sera añadir show_admin_column si no existe en todas las taxonomias con el valor false, deberia quedarte asi 'show_admin_column' => false,

    – Creas una function para aplicar al filtro manage_inmuebles_posts_columns dentro añades la nueva columna.

    
    function manage_inmuebles_posts_columns( $columns ) {
    	$columns['grupo_inmuebles'] = 'El nombre que quieras';
    	return $columns;
    }
    add_filter( 'manage_inmuebles_posts_columns', 'manage_inmuebles_posts_columns', 10 );
    

    Ahora generaremos el contenido de la columna grupo_inmuebles.
    Como antes crearemos una function para lanzar el action manage_inmuebles_posts_custom_column.

    
    function manage_inmuebles_posts_custom_column( $column_name, $post_id ) {
    	if ( 'grupo_inmuebles' !== $column_name ) {
    		return;
    	}
    	$post       = get_post( $post_id );
    	$taxonomies = get_object_taxonomies( $post->post_type, 'names' );
    
    	foreach ( $taxonomies as $taxonomy ) {
    		if ( in_array( $taxonomy, array( 'category', 'post_tag' ), true ) ) {
    			continue;
    		}
    		$taxonomy_object = get_taxonomy( $taxonomy );
    		$terms           = get_the_terms( $post->ID, $taxonomy );
    		$output          = '';
    		if ( is_array( $terms ) ) {
    			$out = array();
    			foreach ( $terms as $t ) {
    				$posts_in_term_qv = array(
    					'post_type' => $post->post_type,
    				);
    				if ( $taxonomy_object->query_var ) {
    					$posts_in_term_qv[ $taxonomy_object->query_var ] = $t->slug;
    				} else {
    					$posts_in_term_qv['taxonomy'] = $taxonomy;
    					$posts_in_term_qv['term'] = $t->slug;
    				}
    
    				$label = esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) );
    				$out[] = $this->get_edit_link( $posts_in_term_qv, $label );
    			}
    			/* translators: used between list items, there is a space after the comma */
    			$output .= join( __( ', ' ), $out );
    		} else {
    			$output .= '<span aria-hidden="true">—</span><span class="screen-reader-text">' . $taxonomy_object->labels->no_terms . '</span>';
    		}
    		printf( '<div><p>%s</p><p>%s</p></div>', $taxonomy_object->labels->name, $output );
    	}
    }
    add_action( 'manage_inmuebles_posts_custom_column', 'manage_inmuebles_posts_custom_column', 10, 2 );
    

    Bueno con esto ya verias todas tus custom taxonomias en una sola columna, ahora ya seria cuestion de aplicar estilo u organizarlas de otra manera.
    Yo simplemente he puesto un div para cada taxonomia y por cada taxonomia muestro el nombre para saber que x terminos son de x taxonomia.
    En los ejemplos he añadido debajo de cada function la llamada, pero seria mejor si se registran y llaman en el admin.
    Si ya tienes un action de admin_init en tu plugin añadelos dentro, sino tienes dos opciones o creas un action admin_init o usas la condicional is_admin

    • Esta respuesta fue modificada hace 1 mes, 1 semana por  kallookoo.
Viendo 7 respuestas - 1 de 7 (de 7 total)
  • Debes estar registrado para responder a este tema.