サポート » 使い方全般 » 投稿(post)だけパーマリンクを変更したい。

  • 毎度お世話になります。

    現在カスタム投稿タイプを複数利用していますが、通常の「投稿(post)」にだけ、パーマリンクを変更したいと思っています。

    投稿のカテゴリーアーカイブ、アーカイブ、記事詳細ページの場合、ドメインの後に一つディレクトリ名を追加したいです。

    例)
    ドメイン名とカテゴリー名の間に「blog」を追加
    http://XXXX.jp/blog/category-name/postname/

    どなたかお力添えいただければと思います。

    m(_ _)m

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    投稿の記事詳細の場合のみ参考に載せておきます。
    カテゴリーや年月アーカイブなども同様の処理を行う必要があります。

    function custom_post_rewrite_rules( $post_rewrite ) {
    	if ( $post_rewrite ) {
    		$custom_rules = array();
    		$prefix = 'blog/';
    		foreach ( $post_rewrite as $key => $post_rule ) {
    			$custom_rules[ $prefix . $key ] = $post_rule;
    		}
    		$post_rewrite = $custom_rules;
    	}
    	return $post_rewrite;
    }
    add_filter( 'post_rewrite_rules', 'custom_post_rewrite_rules' );
    
    function custom_post_rewrite_structure( $permalink, $post ) {
    	if ( $permalink && $post->post_type == 'post' ) {
    		$permalink = '/blog' . $permalink;
    	}
    	return $permalink;
    }
    add_filter( 'pre_post_link', 'custom_post_rewrite_structure', 10, 2 );
    モデレーター gatespace

    (@gatespace)

    投稿(post)は普通のパーマリンク設定にしておいて、
    カスタムポストタイプに、Custom Post Type Permalinks を使う方法じゃダメですかね?

    ちょうどやったことあるので。
    通常のパーマリンク設定
    /blog/%year%/%monthnum%/%day%/%postname%/

    ※カテゴリーアーカイブや日付アーカイブも /blog/ 以下で表示されます。

    Custom Post Type Permalinks 有効化後
    カスタム投稿タイプ(news)
    /%year%/%monthnum%/%day%/%postname%/
    実際には http://example.com/news/2013/03/24/hogehoge/
    カスタム投稿タイプ(products)
    /%postname%/
    実際には http://example.com/products/fugafuga/

    > jim912様

    いつもお世話になっております。
    参考ソース大変ありがとうございます。
    しかしながら、/blog/の後のカテゴリーが未分類になってしまいました。
    また、アーカイブについてソースを追って理解して対応しようと試みましたが、
    今の自分の力量&現状使える時間でクリアする事は不可能だと判断しました。

    専門的な内容ですので、あまり無料で教えていただくのも申し訳ありませんので、
    状況に応じて別途有償にてご相談させていただくかもしれません。

    その際は何卒よろしくお願いいたします。

    > gatespace様

    毎度お世話になります。
    Custom Post Type Permalinks は既に試していたのですが、
    ・固定ページにもディレクトリ名が追加され・・・ますよね?
    ・他の投稿タイプはディレクトリ名(投稿タイプのスラッグ)を追加したくない
    という事で上手く出来ませんでした・・・。

    モデレーター gatespace

    (@gatespace)

    ・固定ページにもディレクトリ名が追加され・・・ますよね?

    post_type = page なら追加されません。
    カスタム投稿タイプで 階層アリ(固定ページ風)にしてあるのまでは検証してないですが。

    ・他の投稿タイプはディレクトリ名(投稿タイプのスラッグ)を追加したくない

    カスタム投稿タイプのパーマリンクに投稿タイプのスラッグを入れないとなると、
    他のコンテンツと重複しないようにする工夫が必要ですが、
    リライトルールでなんとかなりませんかね?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「投稿(post)だけパーマリンクを変更したい。」には新たに返信することはできません。