Quiero modificar las reglas de reescritura para un tipo de publicación personalizada, tribe_events
, que se registra como un tipo de publicación en los archivos del complemento principal del "Calendario de eventos" (the-events-calendar.class línea 24):
protected $postTypeArgs = array(
'public' => true,
'rewrite' => array('slug' => 'event', 'with_front' => false),
'menu_position' => 6,
'supports' => array('title','editor','excerpt','author','thumbnail', 'custom-fields'),
'capability_type' => array('tribe_event', 'tribe_events'),
'map_meta_cap' => true
);
Lo que me gustaría hacer es modificar la línea:
'rewrite' => array('slug' => 'event', 'with_front' => false)
Para:
'reescribir' = > array ('slug' = > 'evento /% lugares%', 'with_front' = > false)
Donde "% lugares%" es el nombre de una taxonomía personalizada.
Entonces mi plan es usar la siguiente función para completar el proceso de reescritura:
add_filter('post_type_link', 'events_permalink_structure', 10, 4);
function events_permalink_structure($post_link, $post, $leavename, $sample)
{
if ( false !== strpos( $post_link, '%lugares%' ) ) {
$lugares_term = get_the_terms( $post->ID, 'lugares' );
$post_link = str_replace( '%lugares%', array_pop( $lugares_term )->slug, $post_link );
}
return $post_link;
}
El problema es que no quiero modificar los archivos del complemento del núcleo. ¿Hay alguna forma de modificar el argumento de reescritura de tipo de publicación personalizado en una función separada desde las funciones de mi tema?
¡Gracias!