Змініть спеціальний тип публікації на ієрархічний після реєстрації


9

Дуже схоже на попереднє запитання: Зміна аргументу "переписати" після реєстрації користувальницького типу публікації

Я намагаюся зробити продукти 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 );

Все працює: ієрархія, переписування тощо :)


5
Рагулька, чи можеш ти видалити РІШЕННЕ з назви та опублікувати своє рішення як відповідь. Через 24 години ви зможете це прийняти. Це просто полегшує людям, які можуть мати ту саму / подібну проблему. Дякую.
Стівен Харріс

@ragulka Ласкаво просимо до WordPress Stack Exchange! Зверніть увагу: цей сайт не є звичайним форматом форуму підтримки, а скоріше використовує формат запитань і відповідей , щоб створити надійну базу знань. Запитання та відповіді розміщуються окремо, а громада переглядає голоси та голоси. ОП «приймає» відповідь, яка найкраще вирішила оригінальне питання. Отже, як сказав Стівен Харріс: будь ласка, опублікуйте своє рішення як відповідь , а потім прийміть цю відповідь.
Чіп Беннетт

Гей, вибач за це. Насправді я намагався відповісти на власне запитання, але не зміг, мені сказали почекати або 8 годин, або додати коментар або змінити моє запитання замість цього. Так я і зробив. Ну, напевно, я почекатиму ще 4 години, а потім можу відповісти на моє запитання.
ragulka

Відповіді:


10

І як це зазвичай буває, я знаходжу відповідь через кілька хвилин після публікації питання ...

Отже, ось що я зробив у файлі 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 );

Все працює: ієрархія, переписування тощо :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.