Дуже схоже на попереднє запитання: Зміна аргументу "переписати" після реєстрації користувальницького типу публікації
Я намагаюся зробити продукти MarketPress ієрархічними - я можу це зробити, злому файлів плагінів, але хотів би триматися подалі від них, якщо зможу.
Чи можна змінити аргументи спеціального типу публікації після того, як вона була зареєстрована, але до того, як будуть зроблені всі внутрішні перезаписи?
ОНОВЛЕННЯ: Ось рішення
І як це зазвичай буває, я знаходжу відповідь через кілька хвилин після публікації питання ...
Отже, ось що я зробив у файлі function.php моєї теми, щоб вирішити свою проблему:
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 );
Все працює: ієрархія, переписування тощо :)