Очень похоже на предыдущий вопрос: изменение аргумента «переписать» после регистрации пользовательского типа записи
Я пытаюсь сделать продукты MarketPress иерархическими - я могу сделать это, взломав файлы плагинов, но я бы хотел остаться в стороне от них, если смогу.
Можно ли изменить аргументы пользовательского типа поста после его регистрации, но до того, как все внутреннее переписывание будет выполнено?
ОБНОВЛЕНИЕ: вот решение
И, как это обычно бывает, я нахожу ответ через несколько минут после публикации вопроса ...
Итак, вот что я сделал в файле functions.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 );
Все работает: иерархия, переписывание и т. Д. :)