登録後にカスタム投稿タイプを階層に変更します


9

この前の質問と非常に似ています:カスタム投稿タイプが登録された後の 'rewrite'引数の変更

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

すべてが機能します:階層、書き換えなど:)


5
ラグルカ、あなたのタイトルから解決策を削除して、あなたの解決策を答えとして投稿できますか?24時間後、それを受け入れることができます。同じ/同様の問題を抱えている可能性のある人にとって、それはより簡単になります。ありがとう。
スティーブンハリス

@ragulka WordPress Stack Exchangeへようこそ!ご注意:このサイトではありません通常のサポート・フォーラム形式ではなく、使用しています質問と回答強固な知識ベースを構築するために、フォーマットを。質問と回答は別々に投稿され、コミュニティによって賛成投票と反対投票が行われます。OPは、元の質問を最もよく解決した回答を「受け入れ」ます。したがって、Stephen Harrisが言ったように、ソリューションをAnswerとして投稿してからその回答を受け入れてください。
チップベネット

おい、ごめんなさい。実際に自分の質問に答えようとしましたが、答えられませんでした。8時間待つか、コメントを追加するか、質問を編集するように言われました。だから私はしました。ええと、もう4時間待ってから、質問に答えられます。
ragulka 2012年

回答:


10

いつものように、質問を投稿してから数分で答えがわかります...

だから私は私の問題を解決するために私のテーマの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 );

すべてが機能します:階層、書き換えなど:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.