custom-post-types – ¿Cómo eliminar / blog / prefix para tipos de publicaciones personalizadas en enlaces permanentes?

Pregunta:

Tengo un cliente que solía tener un sitio web estático y un blog impulsado por WordPress en el subdirectorio /blog . Ahora decidió mover todo a WordPress para que también pueda crear y editar páginas fácilmente. Sin embargo, debido a que el sitio web está recibiendo mucho tráfico y ya tiene me gusta, tweets y +1 en cada publicación de blog, quiere mantener su blog en website.com/blog . Pensé que era tan fácil como dirigirse a los enlaces permanentes y agregar /blog/%postname%/ en la estructura del /blog/%postname%/ permanente.

El problema ahora mismo es que he creado algunos tipos de publicaciones personalizadas para satisfacer las necesidades de su contenido y el contenido del tipo de publicaciones personalizadas ahora reside en el directorio virtual del blog.

¿Cómo puedo especificar que solo las publicaciones del blog y las categorías del blog deben estar en el directorio virtual / blog y todo lo demás puede usar la estructura de enlace permanente de /% postname% /?

Este es mi tipo de publicación personalizada

register_post_type( 'vm_products',
    array(
        'labels' => array(
            'name' => __( 'Products' ),
            'singular_name' => __( 'New product' ), //in the horizontal bar when you are logged in.
            'add_new' => __('Add new product'),
            'add_new_item' => __('New product'),
            'edit_item' => __('Edit product'),
            'new_item' => __('New product'),
            'view_item' => __('Show all products'),
            'search_items' => __('Search product'),
            'not_found' =>  __('No products found'),
            'not_found_in_trash' => __('No products found in trash'), 
            'parent_item_colon' => '',
            'menu_name' => 'Products'
        ),
    'public' => true,
    'has_archive' => true,
    'show_in_menu' => true, 
    'show_ui' => true,
    'supports' => array( 'title', 'custom-fields', 'editor', 'thumbnail'),
    'rewrite' => array('slug' => 'product'),
    'taxonomies' => array('vm_product_cats')
    )
);

Respuesta:

Amplíe el argumento 'rewrite' para suprimir la primera parte de la URL:

        'rewrite' => array(
            'with_front' => false,
            'slug'       => 'product'
        )

Pero usar solo %postname% para diferentes tipos de publicaciones es realmente complicado y propenso a errores. Evítalo.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım