C
chocovo
Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Hola,
Me he quedado atascado con un tema...
He creado un post type a traves de functions.php y estoy intentando que se muestren los posts según la taxonomy que haya en la URL.
Consigo que las url sean de tipo:
Para la creación del Custom type tengo lo siguiente:
¿Alguna idea para que muestre las tiendas según el lugar y no se quede en error 404?
Gracias
Me he quedado atascado con un tema...
He creado un post type a traves de functions.php y estoy intentando que se muestren los posts según la taxonomy que haya en la URL.
Consigo que las url sean de tipo:
- /tiendas (página archive del custom type > funciona)
- tiendas/espana/ (Error 404)
- tiendas/espana/cataluna/ (Error 404)
- tiendas/espana/cataluna/barcelona (Error 404)
- tiendas/espana/cataluna/barcelona/mi_tienda (Single page de Custom type > funciona)
add_filter( 'post_type_link', 'mi_post_type_link', 10, 2 );
function mi_post_type_link( $post_link ) {
$taxonomy = 'lugar';
$terms = get_the_terms( get_the_ID(), $taxonomy );
$slug = [];
if( $terms ){
array_multisort(
array_column($terms, 'parent'),
array_column($terms, 'term_id'),
$terms
);
foreach ( $terms as $term ) {
if ( $term->parent == 0 ) {
array_unshift( $slug, sanitize_title_with_dashes( $term->slug ) );
} else {
array_push( $slug, sanitize_title_with_dashes( $term->slug ) );
}
}
}
if ( ! empty( $slug ) ) {
return str_replace( '%' . $taxonomy . '%' , join( '/', $slug ) , $post_link );
}
return $post_link;
}
Para la creación del Custom type tengo lo siguiente:
function register_espais_post_type() {
$args = [
'label' => 'tienda',
'labels' => [],
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
'public' => true,
'publicly_queryable' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-format-gallery',
'capability_type' => 'post',
'taxonomies' => [ 'lugar', ],
'has_archive' => true,
'delete_with_user' => false,
'can_export' => true,
'rewrite' => [
'slug' => 'tiendas/%lugar%',
'with_front' => false,
],
];
register_post_type( 'espais', $args );
}
add_action( 'init', 'register_espais_post_type' );
¿Alguna idea para que muestre las tiendas según el lugar y no se quede en error 404?
Gracias