Soporte » Multisitio » Problema con las urls: WP Multisite con custom post type

  • Resuelto inigonz

    (@inigonz)


    Buenos días,

    Os cuento mi problema,
    Tengo un wp multisite, con dos sitios, ingles y castellano.
    He creado un post type que se llama noticia, con un archive-noticia.php.
    He añadido a mi functions una función para modificar las urls:

    function PostType_options_get_permalink( $url, $language ) {
       if ( 'us' == $language ) {
    	$url = str_replace( '/noticia/', '/new/', $url );
       } else {
            $url = str_replace( '/new/', '/noticia/', $url );
       }
    
       return $url;
    }
    add_filter( 'msls_options_get_permalink', 'PostType_options_get_permalink', 10, 2 );
    

    Es decir, las urls serian, http://www.dominio.com/noticia y http://www.dominio.com/en/new, así se me debería mostrar el listado de noticias, ya sea en ingles o castellano.

    En ingles no me reconoce la url, me sale vacía, porque no me reconoce «new» como el post type, ya que si entro en http://www.dominio.com/en/noticia si me muestra el listado de noticias en ingles.

    Como debería hacer o que me falta, para poder traducir el post type y funcione bien?

    No se si me explicado bien, muchas gracias por la ayuda

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Moderador LGrusin

    (@lgrusin)

    Podrías instalar un plugin como Polylang que te permite cambiar la URL dependiendo del idioma del visitante según le indiques.
    https://es.wordpress.org/plugins/polylang/

    Un saludo

    Iniciador del debate inigonz

    (@inigonz)

    Buenas,

    Gracias por la respuesta.
    He tenido malas experiencias con plugins de idiomas, así que he decidido pasarme a wp-multisite con el plugin Multisite Language Switcher que me soluciona lo de los idiomas, pero no me permite traducir los post types

    Moderador LGrusin

    (@lgrusin)

    Pues ya ves, eso si que lo hace Polylang… 🙂

    Saludos

    Iniciador del debate inigonz

    (@inigonz)

    Y alguna solución con código para solucionar la traducción de post types? prefiero controlar yo las urls, con los rewrites.

    Gracias

    Iniciador del debate inigonz

    (@inigonz)

    Creo que lo he solucionado.

    En el custom post type, en el rewrite/url he puesto noticia o new dependiendo del idioma.

    Y luego he modificado un poco la funcion de arriba, añadiendo lo contrario, es decir,

    function my_msls_options_get_permalink( $url, $language ) {
    	if ( 'en_GB' == $language ) {
    		$url = str_replace( '/noticia/', '/new/', $url );
    	} else {
    		$url = str_replace( '/new/', '/noticia/', $url );
    	}
    	return $url;
    }
    add_filter( 'msls_options_get_permalink', 'my_msls_options_get_permalink', 10, 2 );

    No se si será la forma correcta, por ahora no me ha explotado nada

    Saludos

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • El debate ‘Problema con las urls: WP Multisite con custom post type’ está cerrado a nuevas respuestas.