Muito semelhante à pergunta anterior: Alterar o argumento 'reescrever' após o registro do tipo de postagem personalizado
Estou tentando tornar os produtos MarketPress hierárquicos - posso fazer isso invadindo os arquivos de plug-in, mas gostaria de ficar longe deles, se puder.
É possível alterar os argumentos de um tipo de postagem personalizado depois que ele é registrado, mas antes de todo o material de reescrita interna ter sido feito?
ATUALIZAÇÃO: Aqui está a solução
E como normalmente acontece, encontro a resposta alguns minutos depois de postar a pergunta ...
Então, aqui está o que eu fiz no arquivo functions.php do meu tema para resolver o meu problema:
function modify_products() {
if ( post_type_exists( 'product' ) ) {
/* Give products hierarchy (for house plans) */
global $wp_post_types, $wp_rewrite;
$wp_post_types['product']->hierarchical = true;
$args = $wp_post_types['product'];
$wp_rewrite->add_rewrite_tag("%product%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=product&name=");
add_post_type_support('product','page-attributes');
}
}
add_action( 'init', 'modify_products', 1 );
Tudo funciona: hierarquia, reescrita, etc :)