Ändern Sie den benutzerdefinierten Beitragstyp nach der Registrierung in hierarchisch

9

Sehr ähnlich zu dieser vorherigen Frage: Ändern des 'Rewrite'-Arguments, nachdem der benutzerdefinierte Beitragstyp registriert wurde

Ich versuche, MarketPress-Produkte hierarchisch zu gestalten - ich kann es mit dem Hacken der Plugin-Dateien tun, aber ich würde mich gerne von ihnen fernhalten, wenn ich kann.

Ist es möglich, Argumente eines benutzerdefinierten Beitragstyps zu ändern, nachdem er registriert wurde, aber bevor alle internen Umschreibungen durchgeführt wurden?

UPDATE: Hier ist die Lösung

Und wie es normalerweise passiert, finde ich die Antwort einige Minuten nach dem Posten der Frage ...

Folgendes habe ich in der Datei functions.php meines Themas getan, um mein Problem zu lösen:

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 );

Alles funktioniert: Hierarchie, Umschreiben usw. :)

Ragulka
quelle
5
Ragulka, kannst du das Gelöste aus deinem Titel entfernen und deine Lösung als Antwort posten? Nach 24 Stunden können Sie es akzeptieren. Es macht es nur einfacher für Menschen, die möglicherweise das gleiche / ähnliche Problem haben. Vielen Dank.
Stephen Harris
@ragulka Willkommen bei WordPress Stack Exchange! Bitte beachten Sie: Diese Site ist nicht das übliche Support-Forum-Format, sondern verwendet ein Frage- und Antwortformat , um eine robuste Wissensbasis aufzubauen. Fragen und Antworten werden separat veröffentlicht und von der Community nach oben und unten bewertet. Das OP "akzeptiert" die Antwort, die die ursprüngliche Frage am besten gelöst hat. Also, wie Stephen Harris sagte: Bitte posten Sie Ihre Lösung als Antwort und akzeptieren Sie diese Antwort.
Chip Bennett
Hey, tut mir leid. Ich habe tatsächlich versucht, meine eigene Frage zu beantworten, konnte es aber nicht. Mir wurde gesagt, ich solle entweder 8 Stunden warten oder einen Kommentar hinzufügen oder stattdessen meine Frage bearbeiten. So tat ich. Nun, ich denke ich werde noch 4 Stunden warten und dann kann ich meine Frage beantworten.
Ragulka

Antworten:

10

Und wie es normalerweise passiert, finde ich die Antwort einige Minuten nach dem Posten der Frage ...

Folgendes habe ich in der Datei functions.php meines Themas getan, um mein Problem zu lösen:

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 );

Alles funktioniert: Hierarchie, Umschreiben usw. :)

Ragulka
quelle