¿Es posible cambiar la URL del tipo de publicación normal sin afectar la URL de otros tipos de publicaciones personalizadas?

9

El dilema

Tengo algunos tipos de publicaciones personalizadas:

  • Artículos de cartera
  • Testimonios
  • Preguntas frecuentes

Las estructuras de URL para estos tipos de publicaciones personalizadas son:

  • mysite.com/ portfolio / name-of-custom-post
  • mysite.com/ testimonial / name-of-custom-post
  • mysite.com/ faq / name-of-custom-post

Me gustaría usar el tipo de publicación normal de WordPress incorporado para controlar nuestras entradas de blog, y hacer que la URL de cada entrada de blog sea así:

  • mysite.com/ blog / nombre-de-post

Si voy a Configuración> Enlaces permanentes y ajusto la estructura de URL para que sea como ...

/blog/%postname%/

... entonces las URL para todos mis tipos de publicaciones se ven afectadas, lo que resulta en:

  • mysite.com/ blog / portfolio / name-of-custom-post
  • mysite.com/ blog / testimonial / name-of-custom-post
  • etc ...

La pregunta

Lo que me gustaría saber: ¿es posible ajustar la estructura de URL para el tipo de publicación de WordPress incorporado sin afectar la estructura de URL de otros tipos de publicaciones personalizadas?

La única otra manera que veo para resolver mi dilema es crear otro tipo de publicación personalizada llamada "Blog". Esto parece un desperdicio, porque entonces no usaré el tipo de publicación de WordPress incorporado.

Si alguien lo necesita, el por qué

Si alguien se pregunta por qué necesito tanto "blog" en la URL, es porque estamos fusionando nuestro blog en la misma instalación que nuestro sitio, y queremos mantener las URL intactas para no perder el valioso jugo de Google.

¡Cualquier ayuda es muy apreciada, gracias!

Ryan
fuente
Acabo de hacer esta misma pregunta casi palabra por palabra, me alegro de haber encontrado esto, gracias
JasonDavis

Respuestas:

14

Puede hacer esto en el registro de tipo de publicación personalizada.

1) Establezca su enlace permanente predeterminado en el administrador de WordPress a su estructura deseada, por ejemplo:

/ blog /% postname%

2) Agregue el parámetro "slug" y "with_front" al rewrite-array en la función register_post_type. "babosa" debe ser el nombre de su tipo de publicación.

  $args = array(
    // ...
    'rewrite' => array(
        'slug' => 'your_post_type',
        'with_front' => false
    ),
    // ...
  ); 
  register_post_type('your_post_type',$args);

Esto debería generar las siguientes reglas de reescritura:

Publicación predeterminada: http://example.com/blog/%postname%
Página predeterminada: http://example.com/%postname%
Tipo de publicación personalizada: http://example.com/your_post_type/%postname%

EDITAR

El parámetro "slug" es opcional. Si no lo configura, se utiliza el nombre de su tipo de publicación personalizada. Consulte la referencia de función sobre register_post_type: http://codex.wordpress.org/Function_Reference/register_post_type

rofflox
fuente
Eres absolutamente el hombre. Esto funciona perfectamente; ¡gracias!
Ryan
@rofflox. Por favor, eche un vistazo a esto ( wordpress.stackexchange.com/questions/52471/... cuestión). Intenté tu respuesta pero eso no me ayudó.
Promedio Joe
0

Alternativa: puede configurar redireccionamientos 301 permanentes. Esto enviará a las personas al enlace correcto y mantendrá su jugo de Google intacto. Sin embargo, no sé la respuesta a su pregunta específica.

mrtsherman
fuente
Gracias mrtsherman. Le pregunté a nuestra persona de SEO sobre hacer eso, y me dijeron que pierdes un poco de jugo de Google al hacer redireccionamientos 301. Me encantaría no perder ninguno, pero si todo lo demás falla, puedo seguir este camino.
Ryan
@ Ryan - +1 gracioso, mi compañía acaba de pedir que haga exactamente lo mismo que esta tarde de ayer. Esperemos que alguien llegue.
mrtsherman