Saltar al contenido Saltar a la barra lateral

Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.

Problem: Si estás intentando traducir un custom post type llamado 'services' y no ves la opción de idiomas en el panel de control general, es probable que un plugin del tema esté sobrescribiendo las columnas de los listados sin utilizar las funciones normales de WordPress.
Solution: Para resolver este problema, puedes agregar el siguiente código en el archivo

functions.php

de tu tema para restaurar la columna de idiomas de WPML:

function custom_restore_wpml_columns_for_theme_cpts() {<br />    $translatable_cpts = array('services', 'projects', 'portfolio-items', 'staff-items', 'testimonials', 'footer', 'page-title');<br />    foreach ($translatable_cpts as $post_type) {<br />        add_filter('manage_edit-' . $post_type . '_columns', 'custom_restore_wpml_language_column', 999);<br />    }<br />}<br />add_action('init', 'custom_restore_wpml_columns_for_theme_cpts', 100);<br /><br />function custom_restore_wpml_language_column($columns) {<br />    global $sitepress;<br />    if (!defined('ICL_SITEPRESS_VERSION') || !class_exists('WPML_Custom_Columns')) {<br />        return $columns;<br />    }<br />    if (!isset($columns['icl_translations'])) {<br />        $wpml_columns = new WPML_Custom_Columns($sitepress);<br />        $flags_column = $wpml_columns->get_flags_column();<br />        $new_columns = array();<br />        foreach ($columns as $key => $label) {<br />            $new_columns[$key] = $label;<br />            if ('title' === $key) {<br />                $new_columns['icl_translations'] = $flags_column;<br />            }<br />        }<br />        return $new_columns;<br />    }<br />}

Si esta solución no resuelve completamente tu problema o si la información proporcionada se ha vuelto obsoleta, te recomendamos abrir un nuevo ticket de soporte. También es aconsejable revisar los problemas conocidos y confirmar que tienes instaladas las últimas versiones de los temas y plugins. Si necesitas más ayuda, no dudes en contactarnos en nuestro foro de soporte.

Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.

Etiquetado: 

Este tema contiene 8 respuestas, tiene 0 voces.

Última actualización por Carlos Rojas hace 3 semanas, 5 días.

Asistido por: Carlos Rojas.

Autor Publicaciones
agosto 4, 2026 a las 12:41 #18192092

marcP-42

Quiero traducir los services. Es un custom post type
enlace oculto

Pero en el panel de control general no me sale la opción de lenguages para traducir. Tengo que entrar dentro del servicio y traducirlo. He entrado a opciones de pantalla pero no me aparece la opción.

Quiero que se muestre el titulo y las banderas para traducir tipicas, como en las entradas. Como puedo mostrarlos?
Gracias

agosto 5, 2026 a las 09:54 #18193765

Carlos Rojas
Partidario de WPML desde 03/2017

Idiomas: Inglés (English ) Español (Español )

Zona horaria: Europe/Madrid (GMT+02:00)

Hola,
Mi nombre es Carlos y continuaré trabajando en este ticket

1.- Para mostrar la columna de los idiomas debes activarla en 'Opciones de pantalla' que aparece arriba a la derecha de la primera captura de pantalla que compartiste en tu mensaje original.

2.- Por favor incrementa el límite de memoria de WordPress para que el sitio cumpla con los requisitos mínimos de WPML: https://wpml.org/home/minimum-requirements/

Para ello puedes agregar el siguiente código en el archivo wp-config.php que se encuentra en la raíz del sitio:

/* Memory Limit */
define('WP_MEMORY_LIMIT', '256M');

- Añádelo encima de la línea /* That's all, stop editing! Happy blogging. */

Puedes comprobar el límite de memoria de WordPress en WPML -> Soporte

Saludos,
Carlos

agosto 8, 2026 a las 10:13 #18199201

marcP-42

Hola Carlos, en 'Opciones de pantalla' no me sale la opción que me comentas.

Ya lo revise, por eso os escribí.

Gracias.

Le lunes augmento la memoria que en casa no tengo los datos de acceso FTP.

agosto 10, 2026 a las 06:36 #18200626

Carlos Rojas
Colaborador

Buenos días,
Muchas gracias por tu respuesta

1.- Te pido que compartas las credenciales de acceso al sitio en tu próximo mensaje, que he establecido como privado. Esto me permitirá reproducir el problema y revisar la configuración de WPML.

Confirma que has creado una copia de seguridad del sitio completo que puedas restaurar en caso de ser necesario.

2.- También te pido que describas cómo has creado el tipo de contenido 'Services'

Quedo a la espera de tu respuesta.
Saludos!

agosto 10, 2026 a las 07:53 #18200678

Carlos Rojas
Colaborador

Buenos días,
Muchas gracias por compartir la información solicitada.

La causa del problema es que uno de los plugins del tema, el que registra los tipos de contenido, sobrescribe las columnas de los listados en el área de administración sin utilizar las funciones normales de WordPress.

A modo de solución he agregado este código en el archivo functions.php que permite mostrar la columna de idiomas:

/**
 * Restore WPML language columns for selected Custom Post Types.
 *
 * The theme/plugin replaces the complete admin columns array for some CPTs,
 * removing WPML's language column in the process.
 *
 * Add or remove CPT slugs from $translatable_cpts as needed.
 */
function custom_restore_wpml_columns_for_theme_cpts() {

	/*
	 * CPTs where the WPML language column should be displayed.
	 *
	 * Add or remove post type slugs from this array as needed.
	 */
	$translatable_cpts = array(
		'services',
		'projects',
		'portfolio-items',
		'staff-items',
		'testimonials',
		'footer',
		'page-title',

		// Add other CPTs if needed:
		// 'footer',
		// 'header-top',
		// 'side-push-panel',
		// 'megamenu',
		// 'page-title',
	);

	foreach ( $translatable_cpts as $post_type ) {

		add_filter(
			'manage_edit-' . $post_type . '_columns',
			'custom_restore_wpml_language_column',
			999
		);
	}
}
add_action( 'init', 'custom_restore_wpml_columns_for_theme_cpts', 100 );


/**
 * Restore WPML's native language column.
 */
function custom_restore_wpml_language_column( $columns ) {

	// WPML must be active.
	if (
		! defined( 'ICL_SITEPRESS_VERSION' ) ||
		! class_exists( 'WPML_Custom_Columns' )
	) {
		return $columns;
	}

	global $sitepress;

	if ( ! $sitepress instanceof SitePress ) {
		return $columns;
	}

	// Do not add the column twice.
	if ( isset( $columns['icl_translations'] ) ) {
		return $columns;
	}

	/*
	 * Let WPML generate its native language header,
	 * including the language flags.
	 */
	$wpml_columns = new WPML_Custom_Columns( $sitepress );
	$flags_column = $wpml_columns->get_flags_column();

	if ( ! $flags_column ) {
		return $columns;
	}

	$new_columns = array();

	foreach ( $columns as $key => $label ) {

		$new_columns[ $key ] = $label;

		/*
		 * Insert the WPML languages column immediately
		 * after the Title column.
		 */
		if ( 'title' === $key ) {
			$new_columns['icl_translations'] = $flags_column;
		}
	}

	return $new_columns;
}

Sin embargo, una solución final y duradera debe ser aportada por los autores del tema.

Saludos,
Carlos

agosto 10, 2026 a las 07:59 #18200681

marcP-42

Genial Carlos,

Ya me salen los idiomas. Una pregunta:

Si tengo 8 elementos como es que me sale que en catalan hay 10 entradas de servicios?

Català (10) | English (4) | French (3) | Spanish (8) | All languages (25)
8 elements

Tambien me salen mas en las entradas. NO me cuadran los numeros.

Gracias por tu ayuda. Adjunto imagen para aclaración.

Screenshot 2026-08-10 095613.png
agosto 10, 2026 a las 08:02 #18200700

Carlos Rojas
Colaborador

Hola,

He revisado los posts de Servicios y sí me dan los números. Aquí puedes encontrar los 10 posts en Catalán: enlace oculto

agosto 10, 2026 a las 08:12 #18200711

marcP-42

Genial Carlos,
Entiendo que hay mas servicios en catalan que en castellano pues.

Gracias por tu ayuda.

Si lo ves todo normal ya estará. Saludos

agosto 10, 2026 a las 08:34 #18200756

Carlos Rojas
Colaborador

De nada 🙂

Por favor, no dudes en contactarnos si necesitas nuestra asistencia en el futuro con WPML. ¡Estamos aquí para ayudar!

Te deseamos un excelente día.