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 - 1 de 5 (de 5 total)
  • 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

    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

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

    Gracias

    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 - 1 de 5 (de 5 total)
  • El debate ‘Problema con las urls: WP Multisite con custom post type’ está cerrado a nuevas respuestas.